SORU
24 NİSAN 2010, CUMARTESİ


Nasıl bir Lua tabloda giriş sayısı?

Sesler gibi, "senin için Google'dan izin" soru, ama bir cevap bulamıyorum nedense. # Lua operatör sadece tamsayı tuşları ile girişler sayar, table.getn:

tbl = {}
tbl["test"] = 47
tbl[1] = 48
print(#tbl, table.getn(tbl))   -- prints "1     1"

count = 0
for _ in pairs(tbl) do count = count   1 end
print(count)            -- prints "2"

Nasıl numarasını alabilirimtümonları sayma olmadan girdiler?

CEVAP
24 NİSAN 2010, CUMARTESİ


Zaten tek yolu pairs(..) ile bütün tablo yineleme yapmak için soru çözümü.

function tablelength(T)
  local count = 0
  for _ in pairs(T) do count = count   1 end
  return count
end

Ayrıca, dikkat edin "#" operatörü tanımı biraz daha karmaşık. Bana bu tablo alarak göstermektedir

t = {1,2,3}
t[5] = 1
t[9] = 1

El kitabına göreherhangi bir3, 5 ve 9 #t için geçerli bir sonuç. Kullanmak için tek mantıklı yolu nil değerler olmadan bir bitişik bölümü dizileri ile.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 趣味そうこ♪

    趣味そう

    3 Mart 2010
  • Kyletiv7

    Kyletiv7

    28 Mayıs 2007
  • Shantanu Sood

    Shantanu Soo

    3 Kasım 2008