5または3で割り切れる1から10までのすべての数字を取り出そうとして
います。これまでのコードは次のとおりです-
giveList =
[ x
| x <- [1..10] ,
(x `mod` 5 == 0) or (x `mod` 3 == 0)
]
そして、関数を ghci にロードします。しかし、それは私にエラーを与えています-
> [1 of 1] Compiling Main ( problem1.hs, interpreted )
problem1.hs:4:10:
The function `x `mod` 5 == 0' is applied to two arguments,
but its type `Bool' has none
In the expression: (x `mod` 5 == 0) or (x `mod` 3 == 0)
In a stmt of a list comprehension:
(x `mod` 5 == 0) or (x `mod` 3 == 0)
In the expression:
[x | x <- [1 .. 10], (x `mod` 5 == 0) or (x `mod` 3 == 0)]
Failed, modules loaded: none.
私の質問は -
- リスト内包表記で「または」を使用できますか?
- そうでない場合は、他の方法でそれを行う方法を教えてください
私は関数型プログラミングが初めてなので、助けてください。