【问题标题】:is there a way to redirect stream to stdin in lua有没有办法将流重定向到 lua 中的标准输入
【发布时间】:2020-12-23 16:29:44
【问题描述】:

所以我尝试使用以下方法读取文件

file=io.open('test.txt', 'r')
io.input(file)
a=io.read()
print(a)
io.close(file)

问题是,我真的不知道如何将 io.read 重定向回标准输入流。我试过了:

io.input(stdin)
a=io.read()
print(a)

有什么办法可以做到吗?

编辑: 通过暗示 io.stdin 而不是 stdin 解决了问题

【问题讨论】:

    标签: file input lua stdin


    【解决方案1】:

    Lua 实际上允许 file:read() 代替将流定向到标准输入,这使我们能够直接从文件中读取。

    【讨论】:

    • 我以为你是故意做 io.read(file) 的。顺便说一句,它接受文件名。
    【解决方案2】:

    您可以致电io.input(io.stdin) 重新设置默认标准输入。

    【讨论】:

    • 我试过这个,它引发了'lua:test.lua:7:标准输入文件已关闭'
    • @RazorVE 因为你手动关闭了文件
    • 我不知道应该怎么做。你能举个例子吗? @Spar
    • @RazorVE 对不起,误解了文档,阅读源代码。我编辑了答案。
    • 猜猜它是怎么解决的
    猜你喜欢
    • 2012-03-29
    • 2012-03-19
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-24
    相关资源
    最近更新 更多