2011-05-07 89 views
0

我是Lua I/O的新手,但在其他地方使用Lua近兩年了。我有這樣一行:Lua輸入問題

for line in io.lines("myfile.txt") do 

但它總是導致「沒有這樣的文件或目錄」錯誤。 「myfile.txt」與Lua文件位於同一目錄中。

我應該在哪裏放置文件「myfile.txt」?

回答

3

for line in io.lines(assert(io.open("myfile.txt"))) do

- 線條函數接受其參數文件,而在另一方面,公開接受一個字符串並返回文件。

+0

很好,謝謝。堅持第一步:/ – pighead10 2011-05-07 19:31:42

+0

等等,現在它給了我「不良的參數#1 - 字符串預計,得到userdata。」 – pighead10 2011-05-07 19:33:04

+0

Nevermind - 我使用io.lines()並使用io.input(「myfile.txt」)設置默認輸入。 – pighead10 2011-05-07 19:34:43

0

我有同樣的問題,但與下面的代碼固定它 - 此代碼演示了迭代與io.open ...

function getHostnameFromHostFile(ip) 
    local hostName = "unknown"; 
    local hostFile = io.open("/etc/hosts"); 

    for line in hostFile:lines() do 
     if line and string.find(line, ip) then 
      hostName = line:match("[a-zA-Z][a-zA-Z0-9]+"); 
     end 
    end 
    return hostName; 
end