我正在為一個學校專案學習 Haskell,并且正在學習 Hudak 的Haskell School of Expression。我撰寫了以下測驗代碼:
main :: IO ()
main = return ()
p :: Float
p = 3.14159
totalArea :: Int -> Int -> Int -> Float
totalArea r1 r2 r3 =
let
circleArea r = p*r^2
in
circleArea (fromIntegral r1) circleArea (fromIntegral r2) circleArea (fromIntegral r3)
這編譯得很好,但我如何實際運行它?我輸入 Powershell ./test.exe totalArea 5 6 7,沒有任何反應。我知道這完全是一個菜鳥問題,所以我很抱歉并感謝您的幫助!
uj5u.com熱心網友回復:
main = return (), 所以這意味著程式沒有做任何事情:你只是定義了一個常量和函式,但你沒有對這些做任何事情。
您可以實作main列印結果totalArea 5 6 7:
main :: IO ()
main = print (testArea 5 6 7)
或者例如決議程式引數:
import System.Environment(getArgs)
main :: IO ()
main = do
(ra : rb : rc : _) <- getArgs
print (testArea (read ra) (read rb) (read rc))
然后你可以呼叫程式:
./test.exe 5 6 7
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/431377.html
標籤:哈斯克尔
