【发布时间】:2015-01-01 02:22:53
【问题描述】:
我对点运算符有点困惑。我有以下代码(用于测试):
test :: Int -> Int -> Int
test x y = f1 . f2 x y
where f1 n = n+1
f2 x' y' = x' * y'
我认为它会首先执行 (f2 x y) 然后 f1 在该结果上执行,但它会引发错误。谁能告诉我点运算符的确切定义以及等于 f1 的含义。 f2 x y? (不使用点运算符时)
最好的问候, Skyfe。
编辑:如果点运算符产生一个完整的新函数,我认为以下代码应该可以工作:
test :: Int -> Int -> Int
test x y = f1 . f2 x
where f1 n = n+1
f2 x' y' = x' + y'
但该代码也会返回错误。
【问题讨论】:
标签: haskell function-composition dot-operator