工作代码:
import System
main = do
[file1, file2] <- getArgs
--copy file contents
str <- readFile file1
writeFile file2 str
Run Code Online (Sandbox Code Playgroud)
崩溃的代码:
import System
main = do
[file1, file2] = getArgs
str = readFile file1
writeFile file2 str
Run Code Online (Sandbox Code Playgroud)
当我尝试时,它抛出一个错误:
a.hs:6:18:输入'='解析错误
那么,如何不同是<-从=?
在学习Haskell时,我想知道什么时候会执行IO操作.在几个地方我找到了这样的描述:
"I/O操作的特殊之处在于,如果它们属于主要功能,则执行它们."
但是在下面的示例中,'greet'永远不会返回,因此不应打印任何内容.
import Control.Monad
main = greet
greet = forever $ putStrLn "Hello World!"
Run Code Online (Sandbox Code Playgroud)
或许我应该问:"落入主要功能"是什么意思?
haskell ×2