簡介
zwds 是使用中文程式語言來描述與推演術數(主要是紫微斗數)的專案.
下載
目前僅提供 svn 下載, 請參考 http://code.google.com/p/zwds/source/checkout 使用 svn 下載原始碼.
測試
zwds 提供諸多測試用例 (Test Case) 以保證程式的品質. 你可以使用 nose 工具來測試.
測試前請先安裝 nose 工具:
$ easy_install nose
之後可在主目錄中輸入 "nosetests" 命令來測試. 測試結果應如下:
``` zwds $ nosetests
..........
Ran 14 tests in 0.034s
OK ```
架構
zwds 架構如下
core - 術數的基礎, 諸如陰陽, 五行, 天干, 地支等
lunar - 與曆法相關, 諸如六十花甲, 西曆轉農曆等
- twpy : 程式主體
test**.twpy : 程式對應的測試用例
安裝 #**
安裝 zwds 讓你能更容易在各處使用 zwds 模組
$ python setup.py develop
開發
zwds 實際運行時使用的是經過編譯的 .py 檔.
要從 .twpy 編譯成 .py 檔, 除了需要安裝 Python 之外, 還需要安裝周蟒 (zhpy) 模組. 周蟒也可以由網路取得
$ easy_install zhpy
當你修改了任何 .twpy 檔後, 你需要先運行命令
$ zhpy -p {filename}.twpy
以產生對應的 n**{filename}.py 檔, 以供程式執行. 編譯好之後就不需再用到周蟒命令, 可以直接使用 python 來執行 .py 檔案.
---**
語彙
考量到可能不是每個讀者都寫過程式, 特別指出一些較特別的語彙. 當然, 閱讀時有發現問題也可以在此提出.
限於本人的眼界與時間, 因此剛開始只稍微點一下幾個地方. 隨著問答而增補.
物件:
物件是組織程式碼的基礎, 可以讓邏輯與數術計算相關連於一個可控制的範圍. 例如要實現子, 丑, 寅, 卯...等, 可以先定義一個地支物件, 然後分別將這個地支物件實體化成子, 丑, 寅, 卯.... 一但有了基礎物件, 相關的操作, 物件與其他物件的關係可以隨時擴充定義.
封裝:
將一些功能與屬性包在一個物件中, 使用時透過物件來調用, 例如
``` $ zhpy 周蟒 1.7 在 darwin 基於 Python 2.5.2
從 zwds.core 導入 金 印出 金.相生 水 ```
以雙底線 "xxx" 開頭的變數:
以雙底線 "xxx" 開頭的變數是只作用在這個程式區塊的變數, 以此定義不想提供程式區塊外部使用的變數.
以"定義 _xxxx" 開頭的函式:
以"定義_xxxx" 開頭的函式是只作用在這個程式區塊的函式, 以此定義僅提供程式區塊使用的函式.