2010-08-30 68 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