用F#中的守卫在Haskell of List理解中实现类似功能的方法是什么
例如:
factors :: Int -> [Int]
factors = [x | x <-[1 .. n], n 'mod' x == 0]
factors 15
[1,3,5,15]
和
posInt :: Int -> [Int]
posInt = [n | n > 0]
posInt 5
[5]
posInt 0
[]
最佳答案
gradbot是正确的。忠实地转换posInt
看起来像:
let posInt n = [if n > 0 then yield n]