2012-10-27 33 views

回答

13

使用show把數字轉換成字符串:

func :: Integer -> String 
func i = "LoadC R" ++ show i ++ "\n" 

show作品對很多事情(但不是全部)。 實際打印這一點,你需要做的

main = putStr (func 5) 

,或者如果你正在使用ghci的(這我會建議,而你寫你的代碼中使用很多,只要你寫的測試一切它),你可以只寫

putStr (func 5) 

它會工作。 (我將解釋下面的原因。)

如果您使用putStrLn而不是putStr它會在最後放置一個額外的換行符。 如果你想在你打印什麼新的生產線,把\n它你喜歡的地方。

func2 :: Integer -> String 
func2 i = "\nLoadC \nR\n" ++ show i ++ "\n" 

有很多換行符。

爲什麼putStr\n到換行符?那麼,putStrputStrLn有型String -> IO()這意味着他們把他們給成把它放到屏幕上的IO程序的字符串。在ghci中,如果你給它IO()型的東西,它會做到這一點。如果你給它另一種類型的東西,它會show,然後putStr這一點。這意味着,如果你輸入

"Hello\nMum" 

它作爲

putStrLn (show "Hello\nMum") 

而如果你想要的\n是一個換行符,你需要做同樣的效果

putStrLn "Hello\nMum" 

show停止ghci中把它在屏幕上之前荷蘭國際集團它。 (如果你發現自己做了很多putStr (show x),有一個快捷方式:print x。)

+0

謝謝。我通過「func 5」運行程序。我如何打印一個新行? – user1510412

+0

@ user1510412希望新的編輯能更好地爲你解釋。 – AndrewC