2008年1月アーカイブ

Pythonのネタです。そういえば、やろうとしてすっかり忘れていたんですが、Leopardにして、Pythonが2.5.1になり、3項演算子(Cでよく使うやつ。評価式 ? True結果 : False結果)がサポートされていたんでした。これによって、lambdaの中にif文がかけるようになりました。
>>> (lambda x: True if x > 5 else False)(3)
False
で、lambdaを使って再帰をするにはこんなやり方が。
>>> a = lambda x: 1 if 2 > x else a(x-1) * x
>>> a(10)
3628800
で、ふと見かけた、AmachangさんのサイトでYコンビネータのネタをやってて、あ、これ、Pythonでもできんじゃね、ということでやってみた。