Ruby初心者スレッド Part 11
■ このスレッドは過去ログ倉庫に格納されています
0422デフォルトの名無しさん
2007/04/12(木) 10:01:52ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?Closure
Javaで単純に考えると、メソッドを1個だけ持つインタフェースは軒並クロージャで置き換え可能だと思うが型はどうなるんだか。
クロージャを受け取れるメソッドと、クロージャを呼び出すときの引数と、返り値も型が欲しいな。
クロージャで欲しいのは、ブロックによる名前空間の分断、クロージャ自体の可搬性、変数束縛、あたりか。
変数束縛以外は匿名クラスと一緒と思う。コンストラクタかセッタで代用は可能だが…。
http://www.itmedia.co.jp/enterprise/articles/0703/29/news069.html
今までのAPIを無視していいなら、関数ポインタを導入すればいいのかもしれない。
(new File("/foo/bar")){|File f| new StringTokenizer(new FileReader(f)){|StringTokenizer t| switch(t.next()){...}}}
型付きRubyか。
■ このスレッドは過去ログ倉庫に格納されています