回答
這很可能是底層操作系統中終端IO的限制。它在達到Lua限制之前執行。
嘗試在cat > /dev/null
輸入一個長行。
不帶參數調用,io.read
使用默認格式"*l"
,它讀取下一行。底層緩衝區大小爲C的BUFSIZ
,看起來您的輸入字符串已超過該限制。
將其更改爲io.read("*a")
以讀取整個輸入。記得最後發送EOF
。
謝謝!我嘗試過,但不幸的是它仍然凍結。我也意識到,該命令僅凍結沒有任何空格的字符串。只是一個隨機文本完美的作品。 –
例如,當我嘗試輸入這個字符串時,我從來沒有從lua得到任何迴應:https://gist.github.com/anonymous/7021941 –
@ChristianMüller我在我的機器上測試了您的示例字符串,並在http:// www.compileonline.com/executecute_lua_online.php,都可以正常工作。我猜在某個地方有一些隱藏的祕密。 –
- 1. 子串長度不加上
- 2. 字符串的長度比字符串的長度長
- 3. Lucene的 - 長串
- 4. 最長的串
- 5. 轉換串長長
- 6. 長度 「串」 與新的字符串的長度( 「串」)
- 7. 不同長度的字符串數組
- 8. TextRenderer.DrawString不拉的長字符串
- 9. log4net的RollingFileAppender進行不寫長串
- 10. 不等長字符串長度的多序列比對
- 11. 將長長的字符串分成60個字符長的字符串,但不要打破單詞
- 12. 查找最長字符串的長度
- 13. Ruby串長度「\\\'」
- 14. 長雙串
- 15. 子串長度
- 16. 長字符串
- 17. DBReader提供字符串的長度而不是字符串
- 18. 爲什麼字符串長度不同?
- 19. Invoke-SqlCmd不返回長字符串?
- 20. 長字符串不是在IE
- 21. 字符串長度()比較不正常
- 22. QTableView長標題字符串不適合
- 23. 字符串不能爲零長度
- 24. Linq的語句獲取未串長串
- 25. 爲什麼字符串的字節長度比長度長?
- 26. 爲很長的字符串
- 27. bash的字符串長度
- 28. 別名長的字符串
- 29. 拆分的長串插
- 30. Android的長字符串concatenament,
你是完全正確的:輸入凍結,就像我的lua腳本一樣。非常感謝你! –
@ChristianMüller如果它解決了您的問題,請接受該答案。 –