最近、TitaniumからObjective-Cにもどってきました。久しぶりに使ってみると、なかなかいい言語な気がしています。動的です。ダイナミックです。それで、いろいろ調べていたら、Blocksという言語仕様が導入されていたことを知りました。iOS 4.0から使えます。 こんな感じで、クロージャっぽく。 void (^func)(id) = ^(id x) { NSLog(@"element: %@", x); }; func(@"hoge"); JavaScriptで書くと、これに該当します。 var func = function(x) { console.log("element: " + id); }; func("hoge"); これを使うと、Rubyのブロック構文っぽいことができます。例えば、eachメソッド。Rubyだと、こう。 array = ["foo", "bar"]