没有使用正确的语法来调用main中的函数

时间:2014-11-22 16:11:37

标签: haskell

我正在搞清楚Haskell,我正在尝试制作一个简单的游戏。我仍然不明白如何使用Main.hs

这就是我想要做的事情:

Main.hs中的

module Main where

import System.IO

main :: IO()
main =  do
    result <- charName 'a' -- error could not match type
    putStr result -- error could not match type

charName :: Char -> String
charName 'a' = "Albert"
charName 'b' = "Broseph"
charName 'c' = "Cecil"

使用charName功能,我想通过Char&#39; a&#39;作为参数,所以主函数可以打印出Albert

1 个答案:

答案 0 :(得分:9)

var <- computation语法用于do中的monadic值(在getLine块内)。

在你的情况下,你有一个纯粹的计算,所以你可以像在GHCi中一样使用let

main :: IO()
main =  do
    let result = charName 'a`
    putStr result