[]2009/11/18[Wed]
- 23:55 JavaScriptのString.replaceの第2引数に関数オブジェクトを渡せることを知った。JSたのしー。str.replace(/hogehoge/g,function(m){ return '<' + m + '>'; });
- 03:07 すいすい睡眠グzzz
- 03:07 スライスは[1, 3, 5・・]のような形式で可能。my($first, $last) = (sort @rank)[0, -1]; 記述する順番は関係ない。my @num = @name[ 5, 1, 0 3, 2 ];
- 03:03 リスト要素の変換にはmapを使用する。my @format_data = map { $_ * 2 } @data;
- 02:53 grepを使えば1000から奇数のみ取り出す処理をforを使わずに書ける。my @odd_num = grep { $_ % 2 } 1..1000
- 02:49 Perlではevalで致命的なエラーをキャッチ出来る。evalブロックが終わった後で$@にエラーメッセージが格納される。
- 02:47 リャマ本の第17章(練習問題除く)まで終了。17章の練習問題は後日やる。
- 01:34 %SIGハッシュへ代入することでシグナルハンドラを設定可能。%SIG{'INT'} = 'int_handler';
- 01:32 プロセスをファイルハンドルとしても使える。例えばメールを送るときは→ open MAIL, "|mail hoge" or die "cannot pipe to mail $!";
- 01:30 コマンド出力を取り込むには逆クォート(``)で囲む。my $now = `date`;リストへの取り込みは行毎に分割して格納される。my %who_lines = `who`;
- 01:26 リャマ本の第16章まで終了。systemはコマンドの実行終了までPerlが待ち。execはコマンドを実行したら後はバイバイ知らんぷり。