Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
以下命令冻结长度约为 2000 个字符的字符串:
lua -e 'print(io.read())'
知道为什么吗?
PS:Lua 版本 5.1.5
这很可能是底层操作系统中终端 IO 的限制。它在达到 Lua 限制之前被强制执行。
尝试在cat > /dev/null.
cat > /dev/null
当不带参数调用时,io.read使用默认格式"*l",读取下一行。底层缓冲区大小是 C's BUFSIZ,您的输入字符串似乎已超过该限制。
io.read
"*l"
BUFSIZ
将其更改为io.read("*a")以读取整个输入。最后记得发送EOF。
io.read("*a")
EOF