Archive for May 12th, 2006

lambda 的改進

Friday, May 12th, 2006

剛試著用 lambda 結果爛掉 找了一下發現這篇文章

Stupid lambda tricks
[Link]

python 的 lambda 有不少限制 如這篇文章說的

The official python documentation says, that you can only use expressions
in lambda, but not statements.

所以他就搞了一堆很有趣的寫法來突破這個限制
不過再怎麼搞還是有先天限制 不像 lisp 裡的那樣方便

perl 裡有一個類似的東西叫 anonymous function
但本質上還是跟 lambda 有點不太一樣 比較像是 anonymous code block

如果只是要在 python 單純使用 anonymous code block 的話
我倒是想到一種作法

>>> t = lambda: eval(compile(”"”
… i = 5
… while i > 0:
…   print i
…   i -= 1
… print “done”
… “”", ‘log’, ‘exec’))
>>> t
<function <lambda> at 0xb7debd14>
>>> t()
5
4
3
2
1
done
>>>

要傳參數進去也可以

>>> t = lambda x: eval(compile(”"”
… while x > 0:
…   print x
…   x -= 1
… “”", ‘log’, ‘exec’))
>>> t
<function <lambda> at 0xb7debdf4>
>>> t(3)
3
2
1
>>>

缺點是不能傳回結果

pdf的美感

Friday, May 12th, 2006

剛剛發現  foxit  reader  有一個好用的功能
它可以把  pdf  的顏色換掉

例如某份  boost.python  的文件
[Link]
可以變成這樣
[Link]

就連  perl5  的  camel
[Link]
也變得如此性感XD
[Link]

真是太棒了~~