YAPC::Asia Tokyo 2012 の 2日目9月29日の夕方のトーク「モダンmod_perl入門」のスライドです。
![2017年春のPerl](https://cdn-ak-scissors.b.st-hatena.com/image/square/5921824f5dfe17d73b3eab3ea7a7948698ff022c/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fperl2017spring-170304053508-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
この文書はプログラミング言語Rakuの全体像を素早くつかんでもらうことを目的として書かれたものです。 まだRakuを触ったことのない読者の方々が、ここからRakuをはじめてもらうことを狙いとしています。
Autothreaded junctions Best part? Junctions are autothreaded, meaning they are a hint to the compiler it can evaluate them on multiple threads! Promises I don't always write concurrent code, but when I do, it's THIS simple: 1: start { sleep 3; say "two" }; 2: say "one"; 3: sleep 5; 4: say "three"; # OUTPUT: # one # two # three Promises Concurrent / asynchronous code: 1: my @promises = ^3 .map: { 2
mattn ブログで紹介されている Perl6 のフィボナッチ数列が奇妙に見える人が多いようなので、まともな解説。 ref. http://mattn.kaoriya.net/software/lang/perl6/20151026144119.htm フィボナッチ数列とは以下のような数列です。 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 最初の2つの数字が 1, 1 でして、その後のものは直前2つの数字を足したものです。 よって、Perl5 で記述した場合、先頭10個のフィボナッチ数列を求めるには以下のようになります。 use v5.16.0; sub fib { state %memo; # 一応 memoize ぐらいはしておく my $n = shift; $memo{$n} //= do { if ($n == 0 || $n == 1) { 1 } els
Perl には x 演算子があり、x 3 といった具合に繰り返し回数を付ける事で連続した文字列を簡単に作り出すことが出来る。 say 1 x 3; # 111 say "foo" x 3; # foofoofoo これは Perl5 でもお馴染み。しかし Perl6 の Range は凄い。 say 1 xx 3; # (1 1 1) say "foo" xx 3; # (foo foo foo) 連続した配列要素が作り出せる。それどころか無限リストが作り出せる。 say 1 xx *; # (...) say "foo" xx *; # (...) もちろん無限数列も作れる。 (1 .. *)[^10].perl.say; # (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) fibonacci 数列もこんなに簡単。 (1, 1, *+* ...^ *)[^100].per
たとえばこんな。 Rakudo Star ではどれも実装済み。今すぐ使えます。 強化された正規表現 Perl 6 の公式なパーサ自体も Perl 6 の正規表現で書かれています。 ……は置いといて。10行ちょっとで CSV をパースする正規表現が書ける。クォートされた値にも複数行にまたがる値にも対応。 # CSV クラスは以下のものを修正して使っています # http://github.com/masak/csv/blob/master/lib/Text/CSV.pm # 正規表現をまとめた grammar (クラスの一種) grammar CSV { regex TOP { ^ <line> ** \n <empty_line>? $ } regex line { <value> ** ',' } regex value { | <pure_text> | \s* \" <quoted_
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く