作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是Haskell的新手,如果这非常明显,我很抱歉......
我制作了以下函数(此处用作询问多个 value==something || value==somethingElse
检查的示例)来检查字符是否为数字:
isDigit :: Char -> Bool
isDigit x =
if
x == '0'
|| x == '1'
|| x == '2'
|| x == '3'
|| x == '4'
|| x == '5'
|| x == '6'
|| x == '7'
|| x == '8'
|| x == '9'
then True
else False
|| x ==
这么多?
最佳答案
在这种情况下,您可以使用 Prelude 中的 elem
:
isDigit x = elem x "0123456789"
isDigit
中的
Data.Char
:-)
"01234"
map (x ==) "01234"
= [x == '0', x == '1', x == '2', x == '3', x == '4']
= (x == '0') : (x == '1') : (x == '2') : (x == '3') : (x == '4') : []
foldr
。
foldr f z
最好被描述为一个函数,它接受一个列表并将
:
替换为
f
和
[]
替换为
z
。
foldr (||) False (map (x ==) "01234")
= x == '0' || x == '1' || x == '2' || x == '3' || x == '4' || False
foldr
是列表函数的祖父,因此这是无需显式递归的“最低级别”方法。以下是您的词汇表的另外两个拼写:
isDigit x = any (x ==) "0123456789"
isDigit x = or [ x == d | d <- "0123456789" ]
isDigit = (`elem` "0123456789")
关于Haskell:想要更好的做事方式:value == x ||值 == y ||,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4294652/
MDC 表示要这样做,但也表示他们认为这只是一个 FireFox 扩展: 实时代码:http://jsfiddle.net/vQsUX/ try { throw("InvalidNameExc
有谁知道您可以使用哪种编程语言: when( expression ){ do stuff } 它应该在某个数组中注册表达式和代码块,然后由后台线程每 Q 毫秒/微秒/纳秒解析一次,并且对于每个计算结
我有一个正在单元测试的应用程序。在正常使用情况下,App Delegate 会设置并开始运行。然而,当我运行我的单元测试时,我希望 App Delegate 不做太多事情,如果有的话。我将如何着手完成
这个想法基本上是用自定义功能扩展一些存储库。所以我得到了这个设置,它确实有效! @MappedSuperclass abstract class MyBaseEntity { @Id
我是一名优秀的程序员,十分优秀!