2010-08-30 35 views
2

快速的问题进行简单的I/O我遇到同时获得我的脚在我在Haskell与此相关的快速测试:更好的方式在主

module Main where 
main :: IO() 
main = putStrLn (show (inc 3)) 

inc :: (Num a) => a -> a 
inc x = x+1 

是否有输出的值更好的方法公司的功能?如果不使用嵌套的parens来强制评估订单,我无法获得输出。随着人数减少,我收到类型错误。只需要说明一定有更好的方法。

感谢如果你能清楚我的头:)

回答

12

首先:括号不要强迫评估顺序。

要删除括号,您可以使用$,它具有非常低的优先级,因此可以删除最后一个参数的括号。

对于这种特殊情况,还有print函数定义为putStrLn . show,因此您可以执行print (inc 3)print $ inc 3

+0

很有帮助,非常感谢。这总是简单的事情,让我:) – JohnCohorn 2010-08-30 06:25:27