Итератор Lua в массив

Говоря языком Lua, есть ли какой-нибудь синтаксический сахар для превращения функции итератора в массив (повторяющиеся вызовы с результатами, сохраненными в возрастающих индексах), возможно, что-то в стандартной библиотеке?

Я токенизирую строку, принадлежащую протоколу, и мне нужно иметь позиционный доступ к элементам в начале строки, а конец строки представляет собой коллекцию вариантов.

Код (специфичный для моего варианта использования) выглядит следующим образом, мне трудно поверить, что его нет в стандартной библиотеке: d

local array_tokenise = function (line)
    local i = 1;
    local array = {};

    for item in string.gmatch(line,"%w+") do
      array[i] = item;
      i = i +1
    end

    return array
  end
5
задан Hassan Syed 29 November 2011 в 19:12
поделиться