Есть ли/предложить синтаксис для достижения компактного «теста и назначения» в lua?lua test и назначить управление внутренним контуром
Рассмотрим этот сегмент из примеров luasql (http://keplerproject.org/luasql/examples.html)
-- retrieve a cursor
cur = assert (con:execute"SELECT name, email from people")
-- print all rows, the rows will be indexed by field names
row = cur:fetch ({}, "a")
while row do
print(string.format("Name: %s, E-mail: %s", row.name, row.email))
-- reusing the table of results
row = cur:fetch (row, "a")
end
Я учусь Lua, и действительно изо всех сил, чтобы принять вызов дублируется текущ: выборки(). Я вижу, что повторение/до тех пор, тривиальным не устраняет проблему, но, кажется, я должен проверить дважды:
repeat
row = cur:fetch ({}, "a")
if row then
print ...
end
until nil == row
я считаю это меньше ошибок в случае «строки = ...» становится все более сложным, но все еще кажется неэлегантным.
'строки = CUR: выборка ({}, "а") и' строка = текущ: выборка (строка, "а") 'не точны дубликаты. –
хороший улов, я не признал эту функцию эффективности на примере. – robm