Esiste un metodo per verificare se una tabella contiene un valore? Ho la mia (ingenua) funzione, ma mi chiedevo se esiste qualcosa di "ufficiale" per questo? O qualcosa di più efficiente ...
function table.contains(table, element)
for _, value in pairs(table) do
if value == element then
return true
end
end
return false
end
A proposito, il motivo principale per cui utilizzo queste funzioni è utilizzare le tabelle come insiemi, cioè senza elementi duplicati. C'è qualcos'altro che potrei usare?
_
. pairs()
restituisce key, value
, ma in questo esempio ho solo bisogno del valore. È una specie di convenzione (adottata nel libro "Programming in Lua" lua.org/pil/index.html ) usare questa _
variabile per memorizzare cose di cui non hai bisogno.
_
usate in Python e JavaScript.