Haskell中的用户输入

时间:2018-04-12 03:49:13

标签: haskell

我是Haskell的新手,我只是想知道如何能够在一行中引用用户输入中的两个不同的东西。例如:

用户输入:test "John" "Jack"

我只想将约翰和杰克彼此个性化。这是我到目前为止所写的内容,但不确定它是否正确。

main :: IO ()

readStrings = do
    strings <- readStrings 
    test strings 
...

readStrings :: IO [String]
readStrings = fmap (map read.words) getLine

test :: String -> String -> IO [String]
...

它们都传递给strings <- readStrings中的字符串,我不确定如何将它们分开。这两个将用于test函数

1 个答案:

答案 0 :(得分:2)

使用模式匹配。

readStrings = do
    strings <- readStrings
    case strings of
        [john, jack] -> test john jack
        _ -> -- what should happen if the user types too many or two few things?