@Defun

Boolean @Defun(String name, Expr expr)

説明

関数を定義します。既に同じ名前の関数が定義されていた場合にはFalseを、それ以外の場合にはTrueを返します。

二番目の引数は関数の定義時には評価されず、その関数が呼び出されたときに評価されます。二番目の引数中で関数に渡された引数にアクセスするには$<数字>を使用します。$0は関数名をあらわし、$1からは渡された引数をあらわします。渡されていない引数を参照するとエラーになります。

引数

String name
関数名
Expr expr
関数本体

エラー

条件

なし

# 掛け算する関数Multiplyを定義
@Defun('Multiply',
       @If(@Equal($1, 0),
           0,
           @Equal($1, 1),
           $2,
           @Add($2, @Multiply(@Subtract($1, 1), $2))))