回复 14楼 TonyDeng
Haskell。
程序代码:
if(a `elem` [5,10,15,20,25])
也可以这么写
if elem a [5,10,15,20,25]
或者
if a `elem` [ 5*i | i <- [1..5] ]
其实这里也是调用了函数elem,只不过在haskell 中,支持函数名中缀写法,以及调用函数时参数和函数名间不用括号。
如果函数名为字符,那么中缀写法要用 `字符 括起来。比如 1 `add` 2(等价于 add 1 2)
如果函数名为符号,那么中缀写法不要 `字符 括起来。如 1 == 2 (等价于 (==) 1 2)
个人觉得 符合函数用起来最爽:
notEqOne1 = not . (==1)
-- 不等于1
notEqOne2 = not . (1==)
-- 同上
notEqOne3 = (/=1)
f, g, fg :: Int -> Int
-- f g fg都是从 Int 到 Int 的函数
f = (+3)
-- f(x)
= x + 3
g = (4*)
-- g(x)
= 4 * x
fg
= f . g
-- fg(x) = (f . g)(x) <=> fg(x) = (4*x)+3