📅  最后修改于: 2023-12-03 14:41:41.992000             🧑  作者: Mango
Haskell 中的输入和输出使用类似于其他语言的 I/O 库函数。这篇文章将向你介绍如何在 Haskell 中进行标准输入和输出 -- 使用 IO 函数。
Haskell 中的标准输入和输出使用 IO 函数,可以在 Prelude 模块中找到。这些函数使用 do 表达式,其中一系列函数被连接在一起以产生一个结果。
main :: IO ()
main = do
putStrLn "Hello, world!"
name <- getLine
putStrLn ("Hello, " ++ name)
这段代码定义了一个函数 main
,它遵循 Haskell 的主函数规则(通过 main 函数启动)。它将输出 "Hello, world!",然后读取一行输入信息并将其存储到 name
中。最后,它输出一个带有 name
变量值的消息。
Haskell 中的 I/O 函数可以从文件读取。这可以通过使用 readFile
函数来实现。下面是一个将文件中的内容打印到控制台的例子:
main :: IO ()
main = do
contents <- readFile "file.txt"
putStr contents
这段代码将文件 file.txt
中的内容读取并存储在 contents
变量中,最后打印到控制台。
Haskell 中也同样可以使用 I/O 函数写入文件。这可以通过使用 writeFile
函数来实现。
main :: IO ()
main = do
writeFile "file.txt" "Hello, world!"
这段代码将字符串 "Hello, world!" 写入文件 file.txt
中。
使用 do
表达式可以组合多个 I/O 操作。你可以使用这个语法来组合任意数量的 I/O 操作。
main :: IO ()
main = do
putStrLn "Please enter a file name:"
filename <- getLine
contents <- readFile filename
putStrLn ("The contents of the file are:\n" ++ contents)
这段代码将提示用户输入一个文件名,读取文件,并打印文件的内容到控制台。
这篇介绍了 Haskell 中输入和输出的基本操作:读取控制台输入、写入文件和读取文件。do
表达式是连接多个 I/O 操作的好方法。