Wolfram言語関数が誤ったタイプの引数を使って呼び出された場合には,その関数を評価した結果が入力と同じ形で返されることがある.この動作はユーザ定義の関数でも再現することができる.
引数パターンを使う
定義に合わない引数パターンで引数を使い,関数を呼び出すと,関数は結果を未評価のまま返す.
整数の引数を取る f を定義する:
f は整数と一緒に呼び出されると評価される:
f は整数以外のものと一緒に呼び出されると,未評価で結果を返す:
制約条件付きのテストを使う
関数定義に制約条件を加えると,その条件が満たされない場合には,関数は未評価で結果を返す.
引数が奇数の場合のみ評価するように g を定義する:
g は,奇数と一緒に呼び出されたときには評価される:
g は,偶数と一緒に呼び出されたときには,結果を未評価で返す: