スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
クロージャ
Rubyのクロージャはこうかしら。
c = lambda{ x=0; lambda{ x=x+1 } }.call()
puts c.call()
puts c.call()

結果:
1
2

Perlだと、
$c = (sub{ $x=0; sub{ ++$x }})->();
print $c->() . "\n";
print $c->() . "\n";
こだね。
スポンサーサイト
ちょっと PHP で遊んでみた
<?php
foreach( array("a","b") as $c ) {
 echo $c;
 echo "\n";
}

foreach( array(create_function('', 'return "第1の関数";' ),
               create_function('', 'return "第2の関数";' )
         ) as $c ) {
  echo $c();
  echo "\n";
}
?>

結果:
a
b
第1の関数
第2の関数
rubyの無名関数で遊んでみる
puts lambda {|f| f.call(3) }.call( lambda {|x| x*2 } )


結果は 6 ですな。
Kansai.pm第10回で発表させていただきました
お聞き苦しい発表だったかもしれませんが、

発表資料

Error.pmの簡単な紹介
View SlideShare presentation or Upload your own. (tags: perl)


に発表資料をおいておきます。

発表内容は、Error.pmの簡単な使い方です。
Perlで例外処理をするためのモジュールです。(まあ、evalでもできるのですが)



なお、TAMASHIROさんにご指摘いただいた通り、

try {
open my $FILE, “b.txt” or die “ファイルがないっす”;
}

のところは、

my $FILE;
try {
open $FILE, “b.txt” or die “ファイルがないっす”;
}

の方がよいですね。


皆様、ありがとうございました。


# 資料にはありませんが、finallyも存在します。

ブログ検索

プロフィール

ビンゴ中西
Perlが好きである。
プログラミング言語のほとんどは独学。独学の過程で多くのプログラム仲間にも色々教わりました。

FC2カウンター

カレンダー

07 | 2008/08 | 09
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 - - - - - -

ブロとも申請フォーム

この人とブロともになる

| ホーム |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。