Как получить аргументы командной строки для таблицы в Lua? - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь передать аргумент командной строки как Lua$ lua test.lua 5 1 8, и он выдает мне значение 1 2 3 вместо 5 1 8. Код, который я пробовал, приведен ниже. Основная цель - мне нужносортировать эти числа как 1 5 8. Я могу использовать команду «сортировать» только для таблиц.

a = {}
for i = 1, #arg do

    table.insert(a, arg[i])

end

for x in pairs(a)do

    print(x)

end

что здесь не хватает?пожалуйста посоветуй.

1 Ответ

0 голосов
/ 08 июня 2018

Нет необходимости строить arg.Интерпретатор командной строки lua уже делает это за вас.

$ cat test.lua
for i,v in ipairs(arg) do
    print(i,v)
end

$ lua test.lua 5 1 8
1   5
2   1
3   8

Ваш код не работает, потому что вы печатаете только ключи в таблице (числовые индексы в этомрегистр), а не значения .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...