テーブルをテキストファイルに保存するには、コンマ区切りのリストに変換する必要があります。 Luaでこれを行う方法がありますか?ルア - テーブルをコンマ区切りリストに変換する
7
A
答えて
2
組み込み関数はありませんが、Web上に例があります。あなたのテーブルが配列の場合
0
組み込みの方法はありませんが、自分で構築したい場合は比較的簡単なオプションがあります。ここでは、あなたがそれを一緒に入れたい方法を見つけ出すことができますいくつかのリンクです:
http://www.lua.org/pil/12.1.html
http://lua-users.org/wiki/TableSerialization
0
いいえ、これのために機能「に建ては」ありません。しかし、あなた自身でそれをするのは難しくありません。私は再帰的にLuaスクリプトをLuaスクリプトのようにファイルに直接書き込むためのスクリプトを用意しています。このスクリプトはLuaスクリプトのようにロードして実行できます。
--This file exports a function, WriteTable, that writes a given table out to a given file handle.
local writeKey = {};
function writeKey.string(hFile, value, iRecursion)
WriteFormatted(hFile, "[\"%s\"]", value);
end
function writeKey.number(hFile, value, iRecursion)
WriteFormatted(hFile, "[%i]", value);
end
local writeValue = {};
function writeValue.string(hFile, value, iRecursion)
WriteFormatted(hFile, "[==[%s]==]", value);
end
function writeValue.number(hFile, value, iRecursion)
WriteFormatted(hFile, "%i", value);
end
function writeValue.boolean(hFile, value, iRecursion)
if(value) then hFile:write("true"); else hFile:write("false"); end;
end
function writeValue.table(hFile, value, iRecursion)
WriteTable(hFile, value, iRecursion)
end
local function WriteFormatted(hFile, strFormat, ...)
hFile:write(string.format(strFormat, ...));
end
local function WriteForm(hFile, strFormat, ...)
hFile:write(string.format(strFormat, ...));
end
local function WriteTabs(hFile, iRecursion)
for iCount = 1, iRecursion, 1 do
hFile:write("\t");
end
end
function WriteTable(hFile, outTable, iRecursion)
if(iRecursion == nil) then iRecursion = 1; end
hFile:write("{\n");
local bHasArray = false;
local arraySize = 0;
if(#outTable > 0) then bHasArray = true; arraySize = #outTable; end;
for key, value in pairs(outTable) do
if(writeKey[type(key)] == nil) then print("Malformed table key."); return; end
if(writeValue[type(value)] == nil) then
print(string.format("Bad value in table: key: '%s' value type '%s'.", key, type(value)));
return;
end
--If the key is not an array index, process it.
if((not bHasArray) or
(type(key) ~= "number") or
not((1 <= key) and (key <= arraySize))) then
WriteTabs(hFile, iRecursion);
writeKey[type(key)](hFile, key, iRecursion + 1);
hFile:write(" = ");
writeValue[type(value)](hFile, value, iRecursion + 1);
hFile:write(",\n");
end
end
if(bHasArray) then
for i, value in ipairs(outTable) do
WriteTabs(hFile, iRecursion);
writeValue[type(value)](hFile, value, iRecursion + 1);
hFile:write(",\n");
end
end
WriteTabs(hFile, iRecursion - 1);
hFile:write("}");
end
11
、あなたはCSVを印刷するtable.concat
を使用することができます。
t={10,20,30}
print(table.concat(t,","))
出力10,20,30
を。
関連する問題
- 1. phpのコンマ区切りリスト
- 2. $ FT_USERのコンマ区切りリスト
- 3. コンマ区切り値に換算する:
- 4. コンマ区切りの文字列を変数のリストに変換しますか?
- 5. コンマ区切りのダブルストリングの文字列をリストに変換する
- 6. コンマ区切り文字列をSPのSQLテーブルに変換する
- 7. コンマ区切りのAPIレスポンスをCSVに変換する
- 8. エイリアスでコンマ区切りにカラム値を変換する方法
- 9. IList <int>コレクションをコンマ区切りのリストに変換します。
- 10. JOLTでコンマ区切りの文字列に変換する
- 11. フィルタ一般リスト(コンマ区切り値)
- 12. Vb.net 2つのコンマ区切りリスト
- 13. jQuery select ID fromコンマ区切りリスト
- 14. リストをコンマで区切った文字列に変換するには?
- 15. (Tの)リストをコンマで区切ったIDの文字列に変換する
- 16. カンマ区切りカンマ区切りのコンマ区切り
- 17. コンマで区切られた項目を列に変換する
- 18. Matlabベクトルをコンマで区切って1行に変換する
- 19. Excelでコンマ区切りリストを作成する
- 20. コンマ区切りリストから値を抽出する
- 21. コンマ区切りの列で複数の行を1行に変換する
- 22. Postgresでコンマ区切り文字列を整数配列に変換する
- 23. コンマ区切りリストを選択ボックスに変換するにはどうすればいいですか
- 24. SQL:+区切りリストを整数に変換する
- 25. .rtfテーブルをテキストに変換(コンマ区切り)してからExcelドキュメントに貼り付けます
- 26. セル内のコンマ区切りリストへのExcel VBA検証リスト
- 27. String.split() - タブ区切り値とコンマ区切り値を区別する方法は?
- 28. コンマで区切られたセレクタのリスト?
- 29. 生のコンマ区切りファイルをubuntuの.xlsxタイプに変換しますか?
- 30. pysparkデータフレームのコンマ区切り文字列を配列に変換します
ここで使用するアンダースコアは何ですか?ペア(テーブル)がキーと値を返すので、これは前に見たことがありません:_(ペアのペア)(tt)は s = s .. "、" .. escapeCSV(p) end – clua7
あなたは鍵を気にしません。 – Alan
外部リソースにのみリンクするのではなく、回答自体に完全な回答を入れてください。 –