回复 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