私はこの演習を解決しようとしています:
整数 f : int -> int に対する関数があり、0 から n までの引数の範囲で単調増加するとします。つまり、任意の 0 ≤ i < n に対して fi < f (i + 1) です。さらに、f 0 < 0 および fn > 0 です。fi ≥ 0 で最小の引数 i を見つける関数検索 fn を記述します。
今、私はこれを書きました
let search f n =
let min = f 0 in
let rec searchin i =
if i >= n then min
else
if f min > f i then min = i
searchin i+1;;
しかし、それはエラーでクラッシュします:
エラー: 解析エラー: [バインディング] の後に "in" が必要です ([expr] 内)
どうしたの?私の実装は正しいですか?