Archive for 7月 23rd, 2009

Closure

今日、機会があってClosureの説明をしました。

Closure = 簡単にちょっとした関数が書ける仕組み

のような誤解(?)があるようなので、ちょっとしたサンプルを書いてみました。

def pipe():
  p = list()
  return (lambda x: p.append(x),
          lambda: p.pop(0),
          lambda: 0 < len(p))

write, read, hasNext = pipe()
write('A')
write('B')
write('C')
while hasNext():
  print read()

言いたいことは、Closureも見る角度は変わっているにせよ、考え方はオブジェクト志向だっていうことです。


 

2009年7月
« 3月   8月 »
 1234
567891011
12131415161718
19202122232425
262728293031  

最近のコメント

最近の投稿

メタ情報

カテゴリー