動くようになっていたのは知ってましたが、あまり見てませんでした。
本が Kindle で読める。結構良いね。例題が書いてあって、微妙に違う。
my @sorted = @names.sort({ %sets{$_} }).sort({ %matches{$_} }).reverse;
とか何やっているのかよくわからない。あ、そうか。
sort {$sets{$a} <=> $set{$b}} @names;
のことかな?
method 呼び出しが、-> ではなくて、. になって Java/Python っぽい。連想配列の呼び出しが $sets{} じゃなくて %sets{} になってる。
この手の「ちょっと違うものがたくさんある」ってのはイマイチな感じ。Python も Ruby も同じ間違いやってるしな。PHPも4と5で随分違っていたし。手で直せないぐらい違う。
Perl は Perl2 から Perl5 までの後方互換性が割と良くて楽だった。でも、Perl6 でそれを捨てるのね。
use v6; とか use v5; とかあるらしいけど、現状では use v5; でも、$
Variable $ARGV is not declared
Unsupported use of <>;
とか言われるらしいです。
今回、Perl5 の整数ループの速度測ってみたら C の 25倍遅かった。これってすごくない? 25倍? どうすれば byte code interpreter で、そんな速度が出るんだ?
my $count = 0;
for my $i (0 .. 100000) { # 100_000_000) {
$count += $i;
}
print "$count\n";
しかし、Perl6 では Perl5 の200倍遅いみたいです。まぁ、JIT かなんかするつもりなんだろうけど。あんまり見つけられず。いずれにせよ、Perl6 は、まだまだ先という感じだね。
use v6;
my $count = 0;
for (0 .. 100000) -> $i {
$count += $i;
}
say $count;
No comments:
Post a Comment