zhpy 的另類用法
Posted by tjwei on 星期二, 6月 10, 2008 with 2 comments
配合上 zhpy ,我們可以寫出下面這樣的 python 程式:
(第一行是 MagicCodec 語法,普通的 zhpy 請去掉第一行)# encoding: zhpy_utf8
from math import *
from operator import *
print Σ(range(100))
print sin(π/4) ≠ √(2)/2
print ㏒(100), ㏑(e)
print 5 × 30 ÷ 2 ≦ tan(√(5)*π/4)
Π=λ f:reduce(mul, f, 1)
print Π(range(1,6))
print set([1, 2, 3, 4, 5]) ∩ set([1, 3, 5, 7, 9])
不管實不實用,至少增加了一點可讀性。既然是λ,為什麼要寫成 lambda?
以上的程式碼只需要下面的 zhpy .ini 檔案(可以叫做 math.ini,放在執行的目錄下)
for 和 in 可以換成相對應的符號, set 的 <, <= 也可以換成 set 符號。[math]
λ=lambda
π=pi
Σ=sum
≠=!=
÷=/
×=*
㏒=log10
㏑=log
√=sqrt
≧=>=
≦=<= ∩=& ∪=l
Haskell 的 ide Lesksah 就能做到這件事情。 如果能夠把 lyx 修改成 python, haskell 或者其他程式語言的編輯器,應該也挺有趣的。
相關的東西是 TeXmacs 的 python plugin tmPython,
2 意見:
很有趣的範例, 介意我將它加入 zhpy 內建範例裡嗎?
No problem. Keep up the good work.
張貼留言