我在從控制檯使用readLn
讀取值。如何使用不帶雙引號的字符串讀取數據?
我想編寫一個函數:
requestValue :: String -> IO a
requestValue s = do
putStrLn $ "Please enter a new value for " ++ s
readLn
我則是能夠做到的,例如,
changeAge :: Person -> IO Person
changeAge p = do
age' <- requestValue "age"
return $ p { age = age'}
changeName :: Person -> IO Person
changeName p = do
name' <- requestValue "name"
return $ p { name = name'}
我的問題是,字符串的讀取實例似乎需要字符串在引號中。我不希望有在控制檯輸入"Fred"
改名字的時候我真的只想在Fred
輸入。
是否有一個簡單的方法來做到這一點,保持requestValue
多態?
你不應該也照顧逃脫引號的字符串? – Peaker 2011-05-14 22:54:03