Bruce. です。
Tokyo.pmのメーリングリストで話題になったのですが、ぱっとみて
一瞬動作がわからないPerlコード。
sub init_sh
{
my $fname = shift;
local $/ = "";
open my $fh, $fname or die $!;
%lslr = map {sub {substr(shift,0,-1), \@_}->(split /\n/)} <$fh>;
}
要はLispやPythonでいうところのlambdaみたいなもんですね。
#Rubyにもあるか
元ネタは 「君ならどう書く lslRシェル」でスクリプト全体は
http://www014.upp.so-net.ne.jp/tetryl/llw2004/lslRsh.pl
にあります。
foo:
a
b
c
bar:
x
y
のようなテキストを入力として':'のついたものを(':'を取り除いて)キーにし、
それ以下のものをリストにしてハッシュの値とすると。
--
木村浩一
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
mail kbk@...
web www.kt.rim.or.jp/~kbk/