Có phương pháp nào để kiểm tra xem bảng có chứa giá trị không? Tôi có chức năng (ngây thơ) của riêng mình, nhưng tôi đã tự hỏi liệu có thứ gì đó "chính thức" cho điều đó không? Hoặc thứ gì đó hiệu quả hơn ...
function table.contains(table, element)
for _, value in pairs(table) do
if value == element then
return true
end
end
return false
end
Nhân tiện, lý do chính mà tôi sử dụng hàm này là sử dụng các bảng dưới dạng tập hợp, tức là không có phần tử trùng lặp. Có thứ gì khác tôi có thể sử dụng không?
_
. pairs()
trả về key, value
, nhưng trong ví dụ này, tôi chỉ cần giá trị. Đó là một quy ước (được thông qua trong cuốn sách "Lập trình trong Lua" lua.org/pil/index.html ) để sử dụng _
biến này để lưu trữ những thứ bạn không cần.
_
được sử dụng trong Python và JavaScript.