私は OCaml を初めて使用し、クラスを監査しています。「merge xs ys は、それぞれ昇順でソートされた 2 つの整数リストを取得し、1 つのマージされたリストをソート順に返します」
私はうまく機能する関数を書きました:
let rec merge xs ys = match xs with
| [] -> ys
| hxs::txs -> if hxs <= (match ys with
| [] -> hxs
| hys::tys -> hys)
then hxs :: merge txs ys
else match ys with
| [] -> xs
| hys::tys -> hys :: merge xs tys in
merge [-1;2;3;100] [-1;5;1001]
;;
私のコードが受け入れ可能な OCaml スタイルであると見なされるかどうかを知りたいですか? 悪い習慣をつくらないようにしたい。構成的に濃い気がしますが、それは私がまだOCamlに慣れていないせいかもしれません。
ありがとう。