Предположим, у нас есть таблица Lua с именем t
, определенная следующим образом:
t = {4, 5, 6, 7}
Предположим, мы хотим узнать, каково произведение чисел в t
. (В сторону: ответ 840
.) Я могу придумать два метода.
Сначала базовый цикл for
:
answer = 1
for i = 1, #t do
answer = answer * t[i]
end
print ( answer )
Во-вторых, итератор ipairs
:
answer = 1
for i, j in ipairs ( t ) do
answer = answer * j
end
print ( answer )
(Я полагаю, можно было бы также использовать итератор pairs
.)
Мои вопросы:
- Имеет ли какой-либо из двух показанных выше методов какие-либо реальные недостатки?
- Существуют ли методы для получения желаемого значения
answer
, которые более эффективны и / или надежны, чем методы, показанные выше?