SORU
9 AĞUSTOS 2009, Pazar


En etkili yolu ise Lua bir masa boş (hayır girdileri içerir) olup olmadığını belirlemek için?

Eğer bir masa boş (yani, şu anda dizi tarzı değerleri ne dict tarzı değerleri de içerir) olup olmadığını belirlemek için en etkili yolu nedir?

Şu anda next() kullanıyorum:

if not next(myTable) then
    -- Table is empty
end

Daha etkili bir yolu var mı?

Not: # operatör değil yeterli, bu sadece çalışır dizi tarzı değerleri Tablo - böylece #{test=2} ayırt edilemez #{} çünkü her ikisi de 0 döndürür. Ayrıca eğer tablo değişkeni nil Eğer kontrol değerleri yoktur, daha ziyade 0 girdi (9 *yani*) tablo aramıyorum olarak yeterli olmadığını unutmayın.

CEVAP
10 AĞUSTOS 2009, PAZARTESİ


Kodunuzu verimli ama yanlış. (10*. *düşünün) Kod doğru

if next(myTable) == nil then
   -- myTable is empty
end

Maksimum verimlilik için yerel bir değişken, örneğin, next bağlamak isteyeceksiniz

...
local next = next 
...
... if next(...) ...

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bach Vlogs

    Bach Vlogs

    18 HAZİRAN 2011
  • Friday Night Cranks

    Friday Night

    27 Mayıs 2007
  • graham025

    graham025

    25 NİSAN 2006