卜卦命理程式中,有關位置的表示

Home Home
引用 | 編輯 wclement
2009-02-18 14:52
樓主
推文 x0
版主您好:


卜卦命理程式中,「位置」的系統變數經提取後如下:
#{本卦.六爻的位置}# =0
#{本卦.五爻的位置}# =1
#{本卦.四爻的位置}# =2
#{本卦.三爻的位置}# =3
#{本卦.二爻的位置}# =4
#{本卦.初爻的位置}# =5

因為用來表示的常數和實際的習慣說法有點不同,能否請板主考慮使 常數=爻位

#{本卦.六爻的位置}# =6
#{本卦.五爻的位置}# =5
#{本卦.四爻的位置}# =4
#{本卦.三爻的位置}# =3
#{本卦.二爻的位置}# =2
#{本卦.初爻的位置}# =1

如此,如果要提取應爻或是世爻的位置,就不用自行再轉換,寫起來也比較直覺,
只是一個小建議,如果會動到整個程式主體,還是按原排法也可以。

獻花 x0
引用 | 編輯 mainchen
2009-02-19 10:21
1樓
  
如此,如果要提取應爻或是世爻的位置,就不用自行再轉換,寫起來也比較直覺,
只是一個小建議,如果會動到整個程式主體,還是按原排法也可以。

確實, 這會牽動到內部, 所以暫時不會動, 不過您可以先行設定一組自己習慣的變數, 往後直接代用即可, 例:

設定:六爻=0
設定:五爻=1
設定:四爻=2
設定:三爻=3
設定:二爻=4
設定:初爻=5

如果:#{本卦.六爻的位置}#=六爻
如果:#{本卦.五爻的位置}#=五爻
如果:#{本卦.四爻的位置}#=四爻
如果:#{本卦.三爻的位置}#=三爻
如果:#{本卦.二爻的位置}#=二爻
如果:#{本卦.初爻的位置}#=初爻

獻花 x0
引用 | 編輯 wclement
2009-02-19 14:22
2樓
  
謝謝老師提供的解決方式,一時間還真沒想到這個方法。
老師的方法,讓我聯想到世應的提取,應該可以改用陣列

爻位置=[6,5,4,3,2,1]

應用:

爻位置[本卦.世爻的位置]=>取出世爻位
爻位置[本卦.應爻的位置]
爻位置[本卦.初爻的位置]

另再請教老師,在變數設定上,我設六個變數,或是改用陣列方式,那一種比較好?
變數設太多,會不會把整個系統搞掛了,
因為初學,對於程式設計應有的認識仍極外行,還請老師撥冗回答。

獻花 x0
引用 | 編輯 mainchen
2009-02-20 14:19
3樓
  
用陣列方式:

設定:爻位=[-1,5,4,3,2,1,0] { 爻位[0] 不用, 由 爻位[1]表初爻 ~ 爻位[6]表六爻 }
如果:#{本卦.六爻的位置}#=爻位[6]

用變數方式:

設定:六爻=0
設定:五爻=1
設定:四爻=2
設定:三爻=3
設定:二爻=4
設定:初爻=5
如果:#{本卦.六爻的位置}#=初爻

---------------------------------------------------------------------

這兩者運用皆可, 重點是 "方便以後閱讀" 即可.
如果用陣列, 還可運用在 "迴圈:" 指令, 這需要看您的用途了.

變數設定幾千個, 執行效能都還好, 放心使用.

獻花 x0