2
我在看Plurasight中的'Haskell Fundamentals Part 1'。在第二章中,作者用表示一个非常简单的函数,如果其中有。当我尝试它时,我每次尝试带负数的函数时都会出错。下面是函数为什么负数在下面的条件中会引发错误?
posOrNeg x =
if x >= 0
then "Positive"
else "Negative"
当我试图用正数的方法,它工作得很好,但是当我打电话与负数的方法,winGHCi抛出下面的错误。
“没有用于(显示(a0 - > [Char])))由于使用”打印“而产生的实例...”
更多地是它,那么这里的功能呢?
是的,我没有通过括号中的负数。我以前不知道那个区别。有道理。 – Nair 2014-09-21 04:19:01
请注意,使用'-XNegativeLiterals',您可以执行'posOrNeg -42'(但不是'posOrNeg - 42')。 – leftaroundabout 2014-09-21 08:23:59
有时使用'negate'会比较容易使用,这取决于情况 – Carsten 2014-09-23 20:43:50