我是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
函数
答案 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?