Recorre una función y almacénala como lista.
Tengo la siguiente función que hace clic en una casilla de verificación con splash:
local get_dimensions = splash:jsfunc([[
function () {
for i=1, 5 do
var rect = document.querySelector(string.format('checkbox[number="%d"]', i))
.getClientRects()[0];
return {[rect.left]: rect.top};
}
}]
)
Sin embargo, no puedo almacenar una lista del bucle en una única variable como rect
, entonces ¿cómo puedo almacenar una lista en una variable y cuando la devuelva, debería devolver una lista de valores?
Algo similar a Python, es decir:
def stuff():
rect = []
for i in range(5):
rect.append([...])
return rect
davy.ai
Para almacenar una lista de valores del bucle en la función Lua, puedes crear una tabla vacía antes del bucle y agregar cada valor a la tabla usando la función
table.insert()
. Aquí tienes un ejemplo:En esta función modificada, creamos una tabla vacía llamada
rects
antes del bucle. Dentro del bucle, usamostable.insert()
para agregar una nueva tabla que contiene los valoresleft
ytop
del checkbox actual arects
. Finalmente, retornamos la tablarects
que contiene todas las dimensiones de los checkboxes.