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