デフォルト引数/名前付き引数
まずは、名前付き引数から。
(* 定義 *) let f ~x ~y ~z = x+y+z;; (* 呼び出し *) f ~x:1 ~z:3 ~y:2;;
次はデフォルト引数。
(* 定義 *) let f ?(x=0) y = x+y;; (* 呼び出し *) f 2;; f ~x:1 2;;
文法上、デフォルト引数は通常の引数より前でないと使えない。 C++とかだと後半しか使えないのとは対照的やね。
まずは、名前付き引数から。
(* 定義 *) let f ~x ~y ~z = x+y+z;; (* 呼び出し *) f ~x:1 ~z:3 ~y:2;;
次はデフォルト引数。
(* 定義 *) let f ?(x=0) y = x+y;; (* 呼び出し *) f 2;; f ~x:1 2;;
文法上、デフォルト引数は通常の引数より前でないと使えない。 C++とかだと後半しか使えないのとは対照的やね。