Thread Such (Hash, Array) (17 answers)
Opened by mikey_b at 2010-03-15 20:26

mikey_b
 2010-03-16 10:20
#134918 #134918
User since
2010-03-15
21 Artikel
BenutzerIn
[default_avatar]
Hi

Ich hab das mit deinem Vorschlag probiert:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
%hash = ();
open (AN, $ARGV[0] ) or die "Not Found\n";

open (IN, $ARGV[1]) or die "Not Found\n";

while ($line = <AN>) {
  chomp $line;
  ($k, $v) = split / /, $line;
   $hash{$k} = $v;
  }

while (<IN>) {
   chomp;
   push (@text, split /\n/);
}
for $sentence ( @text ) {
@word = split / /, $sentence;
print $hash{$_},',' for @word;
print '0,' for 5 - @word;
print "\n";
}


Ich komme aber zu der Ausgabe:
2,3,1,0,
2,2,1,0,
5,1,0,

anstatt
2,3,1,0,0
2,2,1,0,0
5,1,0,0,0

Die Ausgabe muss immer gleiche Länge wie die schlüsseln in %hash sein.
ist das was du angegeben hast mit 5 - @words (ich verstehe nicht so ganz diese Zeile, weil ich hab anstatt 5 auch 4 oder 8 angegeben und komme zum gleichen Ergebnis).
Null heisst hier das das wort nicht im sentence ist und somit ändert sich sein wert auf 0.

Danke für deine Hilfe
Mike
Last edited: 2010-03-16 11:03:19 +0100 (CET)

View full thread Such (Hash, Array)