我在某处阅读有关咖喱的功能,听起来令人困惑。这个例子让我更加困惑。比方说,我有一个函数:通过示例了解咖喱
power :: (Int, Float) -> Float -- computes the nth power of b
power (n, b) =
if n == 0 then 1.0 else b * power (n-1, b)
现在我定义另一个函数powerc:: Int -> Float -> Float
这样
powerc n b =
if n == 0 then 1.0 else b * powerc (n-1) b
可有人请给我怎么powerc
power
功能的咖喱版的解释。
如何直接写square = powerc 2 – OneMoreError
在这种情况下b和n的值是多少? – OneMoreError
'square = powerc 2'定义了一个新的函数'square :: Float - > Float'。直观地说,它是'powerc'的一个版本,其中'n'总是2.'b'将是你传递给它的任何东西;即“方形4 == 16.0”。 – jtobin