私はこれを解決する必要があります。関数を記述します( 'a listl = Empty |' a listl * 'aのリスト)。 私はリストなしで試合をしたことはありません。 matchを整数として使用するのは非常に混乱します。関数型のocamlとのマッチの使い方?
type 'a listl = Empty | Cons of 'a listl * 'a
var: int -> (int -> 'a) ->'a listl
tabu 5 (fun x -> x^x) => [0;1;9;16;25]
このような結果が出てきます。
type 'a listl = Empty | Cons of 'a listl * 'a
let rec tabu n f =
match n with
| 0 ->
| n -> if n > 0 then f n :: (tabu (n-1) f) else Empty
;;
「Empty、Cons」の代わりに「0、n」を使用するにはどうすればよいですか? 良いアイデアはありますか?
:だから
かそこらのような
when
句を使用しなければなりません。問題を理解する前に問題を解決しようとすると、別の問題の解決策に終わる可能性が高くなります。それは楽しいかもしれませんが、おそらく生産的ではありません。なぜあなたはそこでの試合が必要だと思いますか? – glennsl