2016-07-03 8 views
1

私はCamlの光を研究しています。 私は多くの練習でいくつかの練習をしています。そのうちの1つはで、引数として渡すリストを構築する関数を作成します。番号要素に複製します。2つのパラメータを渡す要素のリストを作成して作成します

私のコードは

let rec rep n x = if n >= 0 then x::(rep n-1 x) ;; 

である私は、のn-1に、このエラーを得た:

この式は関数ではありません、それは適用することはできません。

なぜ再帰呼び出しごとにその番号を正しく減らすのか、わかりません。

+0

私は幾分興味がありますがなぜF#を勉強しないのですか? – s952163

+1

大学での最後の試験のために、私はCaml Lightで何かする必要があります。選択肢ではありません。私はそれをする必要があります - .- ' – Kyrol

+0

ええ、私が言ったように、私は理由が不思議だった。それは簡単にF#に入るでしょう:) – s952163

答えて

1

(n-1)のように、かっこがn-1の周りに必要です。

+1

あなたはそうです。そしてすべてを解決するために、 "else []"を追加しました。 – Kyrol

関連する問題