Existe-t-il une méthode pour vérifier si une table contient une valeur? J'ai ma propre fonction (naïve), mais je me demandais s'il existe quelque chose d '"officiel" pour ça? Ou quelque chose de plus efficace ...
function table.contains(table, element)
for _, value in pairs(table) do
if value == element then
return true
end
end
return false
end
Au fait, la principale raison pour laquelle j'utilise ces fonctions est d'utiliser des tableaux sous forme d'ensembles, c'est-à-dire sans éléments en double. Y a-t-il autre chose que je pourrais utiliser?
_
. pairs()
renvoie key, value
, mais dans cet exemple, je n'ai besoin que de la valeur. C'est une sorte de convention (adoptée dans le livre "Programming in Lua" lua.org/pil/index.html ) d'utiliser cette _
variable pour stocker des choses dont vous n'avez pas besoin.
_
utilisées en Python et JavaScript.