4
, когда я пытаюсь скомпилировать ниже листингHaskell I/O, putStrLn применяется к двум аргументам
import System.Environment(getArgs)
import System.Exit
import Control.Monad(when)
main = do
args <- getArgs
when (length args /= 2) $ do
putStrLn "Syntax: passwd-al filename uid"
existFailure
жалобы компилятора: Функция «putStrLn» применяется к двум аргументам. , но, очевидно, требуется только одна строка и существует. Failure - это еще одно действие IO из System.Exit.
как исправить это?
Эта ошибка может произойти только в том случае, если компилятор видит последнюю строку с отступом дальше предыдущей. Удалите все вкладки из своего кода и вместо этого используйте пробелы, следя за тем, чтобы эти две последние строки выстроились в линию. Измените настройки в своем редакторе, чтобы при нажатии вкладки вставлено соответствующее количество пробелов или избегайте клавиши вкладки. – AndrewC