Sud*_*ha 1 haskell pattern-matching
现行守则
嗨,我有这样的功能:
jj::[Int]->[Int]
jj xs = [x|x<-xs,x `mod` 2 ==0]
Run Code Online (Sandbox Code Playgroud)
对于输入, [1..20]它给我输出:
[2,4,6,8,10,12,14,16,18,20] -> only the values divisible by 2
Run Code Online (Sandbox Code Playgroud)
我需要什么
如果列表值可以被2分割,则将其解释为0,否则为1:
输入:[243,232,243]
输出 :[1,0,1]
当然你只想要地图:
jj::[Int]->[Int]
jj xs = map (`mod` 2) xs
Run Code Online (Sandbox Code Playgroud)
由于currying
map (`mod` 2) :: [Int] -> [Int]
Run Code Online (Sandbox Code Playgroud)
正是我们想要的功能,所以我们可以这样做:
jj::[Int]->[Int]
jj = map (`mod` 2)
Run Code Online (Sandbox Code Playgroud)
两者产量:
*Main> jj [2,4,5,6,8,9]
[0,0,1,0,0,1]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
329 次 |
| 最近记录: |