Schrift
[thread]7876[/thread]

maximale Schlüssellänge im assoziativen Array: maximale Schlüssellänge im assoziativen (Seite 2)



<< |< 1 2 >| >> 19 Einträge, 2 Seiten
Taulmarill
 2006-04-11 17:47
#64701 #64701
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
was meinst du mit binär? perl kennt nur scalare daten, alles andere ist kontext ;-)
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Crian
 2006-04-11 19:29
#64702 #64702
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
0 und 1 sind natürlich - hmmm sagen wir aus dem fünfer-System *lol*

*duckundwegrenn*

Die Frage ist mehr, was meint Opi mit "binären" Schlüsseln?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Taulmarill
 2006-04-11 19:43
#64703 #64703
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
ich denke mal, dass er "binäre" daten meint. also z.b. ein disk-image oder eine audführbare datei. das problem daran ist, dass strings in perl im prinzip auch binäre daten sind. integer und floats werden wohl intern anders gemarkert, damit man mit ihnen rechnen kann, werden aber im endeffekt auch zu strings (je nach kontext).

btw. ja, alles was man in einen scalar stecken kann, kann man auch als schlüssel für einen hash benutzen.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
bloonix
 2006-04-11 20:26
#64704 #64704
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Hallo Leute,

oh je, bitte verhaut mich nicht gleich. Ich bin mir mit meiner
Frage selbst nicht so sicher, weil ich mich da nicht so auskenne,
sorry :/

Auf dem Weg nach Hause habe ich mir mein "Verständnisproblem"
nochmal durch den Kopf gehen lassen, deshalb versuche ich es
jetzt nochmal zu erklären. Vielleicht mag der Eine und die Andere
mich verstehen und mir auf die Sprünge helfen.

Zunächst zu Gwen's Aussage

Quote
Wenn 0 und 1 nicht binär ist, bin ich ein Krokodil.


Also 0 und 1 sind für mich zunächst nicht binär, sondern dezimal.

Code: (dl )
1
2
my $bin_wert = unpack "B32", 0;
print "$bin_wert\n";


Ist die 0 in binär, jedoch in dezimaler schreibweise eine
Code: (dl )
00110000


oder was mache ich hier falsch bzw. was verstehe ich da falsch?

Natürlich sind alle Daten auf einer Platte binär abgelegt, aber
wenn ich als Hashkey eine 0 angebe, ist das doch nicht binär,
sondern dezimal, oder?

Zum Beispiel habe ich als Test /bin/ps eingelesen und den ge-
samten Inhalt als Hash-Schlüssel benutzt. Wenn ich die Datei
im Editor öffne und ich die vielen Zeichen sehe, die der Editor
nicht darstellen kann, dann ist die Datei für mich Laien "binär".

Könnt ihr mir folgen?

Viele Grüße,
opi\n\n

<!--EDIT|opi|1144772908-->
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
betterworld
 2006-04-11 21:23
#64705 #64705
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
[quote=Taulmarill,11.04.2006, 17:43]btw. ja, alles was man in einen scalar stecken kann, kann man auch als schlüssel für einen hash benutzen.[/quote]
Das stimmt nicht. Man kann nur Strings als Hash-Keys verwenden.

Bezueglich der Binaerdaten: Man kann es ja einfach mal ausprobieren:
Code: (dl )
perl -e '%_=((join "",map chr ($_&0xff),0..0x1ff), "wert"); print keys %_' | hexdump
Output... sieht gut aus :)
docsnyder
 2006-04-12 10:28
#64706 #64706
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
@opi

Quote
Also 0 und 1 sind für mich zunächst nicht binär, sondern dezimal.


0 und 1 sind weder binär noch sonst was, es sind schlicht und ergreifend zwei Ziffern, die UNTER ANDEREM [!] auch im Dualsystem vorkommen.

@betterworld


Quote
Das stimmt nicht. Man kann nur Strings als Hash-Keys verwenden.


Wie kommst Du denn da drauf??? Du kannst alles als Hash-Key verwenden, siehe Beispiel:

Code: (dl )
1
2
3
4
5
6
7
#!/bin/perl

@a = ( 1, 2, 3 );

$b{@a} = "test";

printf("%s\n", $b{@a});


Gruß, Doc
renee
 2006-04-12 10:44
#64707 #64707
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Und was macht Perl daraus?? Richtig, ein Skalar.

Code: (dl )
1
2
3
4
C:\Renee>perl -MData::Dumper -e "my @a = (1,2,3); my %b; $b{@a} = 'test'; print Dumper(\%b);"
$VAR1 = {
'3' => 'test'
};
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
bloonix
 2006-04-12 11:23
#64708 #64708
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Hi docsnyder,

[quote=docsnyder,12.04.2006, 08:28]0 und 1 sind weder binär noch sonst was, es sind schlicht und ergreifend zwei Ziffern, die UNTER ANDEREM [!] auch im Dualsystem vorkommen.[/quote]

Mit der Ziffer hast du es auf den Punkt gebracht. Und ob binäre Daten als
Hashkey verwendet werden können... diese Frage hat sich
geklärt. Danke schön.

Greez,
opi
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.
Strat
 2006-04-12 17:32
#64709 #64709
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=renee,12.04.2006, 08:44]Und was macht Perl daraus?? Richtig, ein Skalar.

Code: (dl )
1
2
3
4
C:\Renee>perl -MData::Dumper -e "my @a = (1,2,3); my %b; $b{@a} = 'test'; print Dumper(\%b);"
$VAR1 = {
'3' => 'test'
};
[/quote]
Perl macht nicht nur einen Skalar, sogar sogar einen string daraus:
Code: (dl )
1
2
3
4
I:\>perl -MData::Dumper -e "$x = [1,2,3]; $y{$x} = 20; print Dumper(\%y)"
$VAR1 = {
'ARRAY(0x224f10)' => 20
};
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< |< 1 2 >| >> 19 Einträge, 2 Seiten



View all threads created 2006-04-10 18:38.