ocaml で整数配列要素のインデックスを見つけようとしています。これを再帰的に行う方法。コード例:let a = [|2; 3; 10|];;
配列 a のインデックス 3 を返したいとします。どんな助けでも感謝します。OCaml プログラミングは初めてです
質問する
4276 次
3 に答える
4
type opt = Some of int | None;;
let find a i =
let rec find a i n =
if a.(n)=i then Some n
else find a i (n+1)
in
try
find a i 0
with _ -> None
;;
テスト
# find a 3;;
- : int option = Some 1
# find [||] 3;;
- : int option = None
# find a 12;;
- : int option = None
于 2015-11-28T21:03:12.910 に答える
3
インデックスを使用して各要素を再帰的にチェックします
let rec find a x n =
if a.(n) = x then n
else find a x (n+1);;
find a x 0;;
要素が配列の一部ではない場合、例外が発生します(nが配列の長さよりも大きい場合)。
于 2015-11-28T18:09:24.000 に答える