close
FUNCTION
Syntax: #FU name value [classname]
這個指令用來建立使用者定義的函式(function)。
name是function的名字,value是設給function的算式。可以使用參數%1到%99來拿到傳給function的參數。
FUNCTION Examples
#FU fact {%if(%1<=1,1,%1*@fact(%eval(%1-1)))}
建立一個使用者定義function,來算階乘。
如果參數小於等於1,回傳1,否則回傳 參數 乘上 參數減1的階乘。
注意:function的參數通常只是展開而不是求值,所以我們需要%eval函式來強迫減1的動作。
#EVAL @fact(5)
依上面的定義將顯示120
#SHOW @fact(5)
依上面的定義將顯示 5*4*3*2*1
=============== 紅貓碎碎念 ====================
實用程度: 40% 我沒有在用,可能有用到的時候
不是那麼的好用,常常想到要用這個指令,但每次都是失望而歸。
主要是因為function的內容大致上要由單一回傳值的function組成,對於複雜的算式很難使用,
但通常就是複雜的算式才會想用寫成一個function來簡化,
所以最後還是直接多用幾行算式,把結果存在特定變數裡,目前還沒用到過這個指令。
翻譯時遇到的二個單字,expand跟evaluate,看原文的人可能比較看不懂這二個字,請參考這裡
Syntax: #FU name value [classname]
這個指令用來建立使用者定義的函式(function)。
name是function的名字,value是設給function的算式。可以使用參數%1到%99來拿到傳給function的參數。
FUNCTION Examples
#FU fact {%if(%1<=1,1,%1*@fact(%eval(%1-1)))}
建立一個使用者定義function,來算階乘。
如果參數小於等於1,回傳1,否則回傳 參數 乘上 參數減1的階乘。
注意:function的參數通常只是展開而不是求值,所以我們需要%eval函式來強迫減1的動作。
#EVAL @fact(5)
依上面的定義將顯示120
#SHOW @fact(5)
依上面的定義將顯示 5*4*3*2*1
=============== 紅貓碎碎念 ====================
實用程度: 40% 我沒有在用,可能有用到的時候
不是那麼的好用,常常想到要用這個指令,但每次都是失望而歸。
主要是因為function的內容大致上要由單一回傳值的function組成,對於複雜的算式很難使用,
但通常就是複雜的算式才會想用寫成一個function來簡化,
所以最後還是直接多用幾行算式,把結果存在特定變數裡,目前還沒用到過這個指令。
翻譯時遇到的二個單字,expand跟evaluate,看原文的人可能比較看不懂這二個字,請參考這裡
全站熱搜
留言列表