2013-01-11 30 views
-2

我的回答是:我怎麼能聲明putStrLn或打印在Haskell

我該如何聲明打印功能?

bisiesto :: Int -> **?**; 
bisiesto x = if (x `mod` 4 == 0 && ((x `mod` 100 /= 0) || (x `mod` 400 == 0))) then print("Es bisiesto") else print("No es bisiesto"); 

請問誰能幫我?謝謝。

+0

bisiesto :: INT - > IO();好,謝謝我發現它的一切。 – jordiAnd

+1

檢查了這一點:http://rosettacode.org/wiki/Leap_year#Haskell –

回答

2

下面是一個簡化的版本(I改變了邏輯):

bisiesto :: Int -> IO() 
bisiesto n | even n = n : print "Es bisiesto" 
      | otherwise = print "No es bisiesto" 

是這樣工作的:

Prelude> bisiesto 2 
"Es bisiesto" 
+1

太謝謝你了:)我在哈斯克爾對不起小白。 – jordiAnd

+0

沒問題,它是一種有趣的語言,我只是在學習它。 –