Cách hiệu quả nhất để xác định xem một bảng có trống không (nghĩa là hiện tại không chứa giá trị kiểu mảng hay giá trị kiểu dict)?
Hiện tại, tôi đang sử dụng next()
:
if not next(myTable) then
-- Table is empty
end
Có cách nào hiệu quả hơn không?
Lưu ý: #
Toán tử này không đủ ở đây, vì nó chỉ hoạt động trên các giá trị kiểu mảng trong bảng - do đó #{test=2}
không thể phân biệt được #{}
vì cả hai đều trả về 0. Cũng lưu ý rằng kiểm tra xem biến bảng nil
có đủ không vì tôi không tìm kiếm giá trị nil, mà là các bảng có 0 mục nhập (tức là {}
).
false
sẽ không phải là một khóa mong đợi để nóif not
hoạt động tốt, nhưng có lẽ tôi sẽ tạo thói quen so sánh vớinil
thay thế trong tương lai, như một thói quen tốt. Và vâng, tôi đã ràng buộc các chức năng tiện ích phổ biến với các vars cục bộ để tăng tốc độ. Cảm ơn vì đầu vào mặc dù.