Google GOでクロージャ
ま、やってるでしょうってことで。
package main
import "fmt"
func getCounter() (func() int) {
var value int;
value = 0;return func() int { value = value + 1; return value;};
}func main() {
var f func() int;
f = getCounter();
fmt.Printf("hello, world %d\n", f() );
fmt.Printf("hello, world %d\n", f() );
fmt.Printf("hello, world %d\n", f() );
fmt.Printf("hello, world %d\n", f() );
fmt.Printf("hello, world %d\n", f() );
fmt.Printf("hello, world %d\n", f() );}
スクリプト言語触っててCで出来れば・・・と思ってたことが出来る感じ。
とりあえず、最近中島さんのところでよく出るクロージャw
Python Hack : 噛めば噛むほどおいしくなるクロージャの話
実行環境が必要ないってことでバイナリ生成は有利なんだけど、
Cとかしか無かったし、
GCJとかだととっても巨大なバイナリに成ってたことを考えるといい感じ。
とはいえ、Cで生成したオブジェクトよりかは大きいんだけど。
# ほとんどの人は6gじゃなくて8gなので注意をw
トラックバック URL : http://nyanyan.to/archives/409/trackback
コメント (1,554)