JArray
NLua でa を繰り返し処理しようとしていますが、どうにかできません。JArray はユーザーデータ (ユーザーデータとは何ですか?) として扱われるため、反復できません。
を with ac# メソッドに変換しJArray
てJValue[]
も機能しません。
私が見る限り、2つの可能な解決策があります。1. nlua の Iterable 関数を取得します。2. JArray を Lua テーブルに変換し、その上で for ループを使用します。
私はその2つのいずれにも成功していません。これについてもっと経験のある人はいますか?前もって感謝します。
私が試したこと:
regCommands は、JToken に多数の JObject を含む JArray です。
jArray = Json:parseJArray(regCommands)
for k, v in ipairs(jArray) do
print(k.. " ".. v)
end
これにより、jArray がユーザーデータである ipairs(jArray) でエラーが発生します。
Json:parseJArray(JArray)
JArray を取り、JToken[] を吐き出す ac# 関数です
私が試した他の何か:
keyVal = regCommands.First
while keyVal ~= nil do
if (type(JProperty)) then
regCommands[keyVal.Name:lower()] = keyVal.First
end
keyVal = keyVal.Next
end
regCommands[keyVal.Name:lower()] = keyVal.first
これは、論理的な理由がなくてもクラッシュし
ます。
ac# 列挙子を取得しても機能しません
enumCommands = regCommands:GetEnumerator()
enumCommands:MoveNext()
repeat
enumCommands:MoveNext()
until enumCommands:Current() ~= nil