defaultFileName :: [Char]
defaultFileName = "Test.log"
defaultSearchName :: String
defaultSearchName = "xyz"
Run Code Online (Sandbox Code Playgroud)
可以编译此代码:
a3 :: Int -> [[Char]] -> IO [Char]
a3 index arg =
if null arg
then do
a <- putStrLn "No parameters have been passed."
a <- putStrLn $ "1 Default search string: " ++ defaultSearchName
a <- putStrLn ("2 Default file name: " ++ defaultFileName)
return defaultFileName
else return (arg!!index)
Run Code Online (Sandbox Code Playgroud)
一旦我添加了一个额外的 IF-THEN-ELSE,我就不能再编译它了
a3 :: Int -> [[Char]] -> IO [Char]
a3 index arg =
if null arg
then do
a <- putStrLn "No parameters have been passed."
a <- putStrLn $ "1 Default search string: " ++ defaultSearchName
a <- putStrLn ("2 Default file name: " ++ defaultFileName)
if index == 0
then return defaultSearchName
else return defaultFileName
else return (arg!!index)
Run Code Online (Sandbox Code Playgroud)
为什么????每走一步都那么令人沮丧。