集合内の要素の数を返す関数haskellに再帰関数のサイズを書く。ライブラリ関数の長さを使用しないでください。集合内の要素の数を返すHaskell再帰関数のサイズ
size :: Set a -> Int
これは私がこれまで行ったことです。それは正しく見えるのですか、私は質問が何を求めているのか誤解していますか?しかし、あなたのコードを説明できることが重要で、コードのほかに
size :: Set a -> Int
size [] = 0 -- zero
size (_:xs) = 1 + size xs
です:空のリスト[]
はサイズ0
、そうしたという事実:ありがとう
size :: Set a -> Int
size [] = 1
size (_:xs) = 1 + size xs
質問には、「Set」の定義がありません。 'set Set = []'と宣言されていれば、コードは一番正しいです。あなたは基本ケースを調整する必要があります - 空のセットのサイズは0でなければなりません(演習として考えるべきことのいくつかの提案:どのようにこの関数を尾を再帰的にするでしょうか? ?この機能を折り畳み式で表現できますか?) –
ありがとうございます。はい、 'size'は' set a = [a] 'と言ったように宣言されています。私はあなたの提案を見ていきます。 – carl123