ある種の関数でluaを使用して行を配列に入れるにはどうすればよいのでしょうか。
例えば。FileToArray( "C:/file.txt")?
次のように使用できることはわかっています。var=io.open( "file")Data = var:read()ただし、1行目のみが返され、他の行は返されません。
誰かがこれまたは別の方法を修正する方法を知っていますか?私はluaとファイルシステムのものに不慣れです。
"*a"
読み取り関数に渡すことができます。ファイル全体を読み取る必要があります。
local file = io.open("file-name", "r");
local data = file:read("*a")
また、各行を配列に格納する場合。Janeのソリューションと同様に、io:lines()を使用できます。これはイテレータ関数を返します(呼び出しごとに新しい行が返されます)
local file = io.open("file-name", "r");
local arr = {}
for line in file:lines() do
table.insert (arr, line);
end
local file = io.open("c:\\file.txt")
local tbllines = {}
local i = 0
if file then
for line in file:lines() do
i = i + 1
tbllines[i] = line
end
file:close()
else
error('file not found')
end
詳細については、http://lua-users.org/wiki/IoLibraryTutorialを参照してください。