リスト内のすべての要素のコピーを作成できるものを書きたいと思います。私は、リストの2F# - リスト内の要素のコピーを作成するには?
[1; 2; 3; 4]
を望んでいたのであれば、それは
[1; 1; 2; 2; 3; 3; 4; 4]
は、だから私は
カウントは私が欲しい部数ですlet rec dupeElem row count =
match row with
| [] -> []
| hd::tl -> (makeCopy hd count) @ dupeElem tl count
で再帰関数を書く上で計画していたとなります。この関数は、リスト内の各head要素を取得し、コピー関数に送信してリストに挿入するためのコピーを作成します。それでmakeCopyは次のようになります:
let makeCopy elem Count =
match Count with
| 0 -> []
| 1 -> elem
| 2 -> elem :: elem
|....
しかし、私はdupeElemに返されるときにエラーが発生します。私は賢明なアイデアではないが、それがうまくいくかどうかをテストすることでした。私はそれを動作させるために何を修正/改良すればよいでしょうか?
「リストリストを期待していますが、「intリスト」を取得しているというエラーが表示されています –
私の更新された回答を参照してください –
ありがとうございました! –