我可以将案件置于一定范围或其他数字范围内吗?
说......
case x of
+/- 3 -> yes
Run Code Online (Sandbox Code Playgroud)
...
这会是Haskell应该理解的吗?
更新:简而言之,我能够匹配间隔而不是数字吗?
不,但你可以使用abs并转过来:
对于p半径范围内的间隔,r 您可以使用
if abs (x-p) <= r then yes else ...
Run Code Online (Sandbox Code Playgroud)
例:
Prelude> let inInterval p r x = abs (x-p) <= r
Prelude> inInterval 5 3 1
False
Prelude> inInterval 5 3 2
True
Prelude> inInterval 5 3 8
True
Prelude> inInterval 5 3 9
False
Run Code Online (Sandbox Code Playgroud)