配列のハッシュが大量にあり、
%qual<discordant>
(「88.23」、「99.23」などの約13199の値など。
88-100の範囲で、テキストファイルから読み込まれます。
印刷する%qual<discordant>.min
と%qual<discordant>.max
、値が明らかに間違っていることがわかります。
これを修正するには、テキストファイルからデータを読み取る方法を変更します。
%qual{$type}.push: @line[5]
に
%qual{$type}.push: @line[5].Num
しかし、これは直感的ではなく、なぜRaku / Perl6が最初は明らかに間違った答えを出していたのかを理解するのに数分かかりました。このエラーを見逃すことは非常に簡単でした。perl5では、デフォルトの動作では、これらの文字列を数値のように扱います。
これをデフォルトの動作にするための制御ステートメントが必要ですが、どうすればよいですか?
@line
テキストファイルから満たされているmy @line = $line.split(/\s+/)
my @line = $line.words
その後、より速くなります。
@line
に満たされますか?