関数型プログラミング言語ML
■ このスレッドは過去ログ倉庫に格納されています
0856デフォルトの名無しさん
NGNG(* OCaml *)
let f =
let rec g c l = function
| [] -> c l
| hd::tl ->
let h = function
| [] -> assert false
| hd2::tl2 -> (hd2, hd)::(c tl2)
in g h l tl
in g (fun _ -> [])
のほうが良くない?
「与えられた二つのリスト以外のリストを使ってはならない」という条件が曖昧だけど
途中でペアを返すのは微妙かと。
これだと末尾再帰になるし (やることは変わらんので実行速度も変わらんかも知れないけど) 。
>>848 が間違いだとはいわないけどね。
大して自信があって言ってるわけではないです。
この発言に間違い (やそれに準ずるもの) の指摘は
勉強になるので歓迎です。
■ このスレッドは過去ログ倉庫に格納されています