table

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Bu kütüphane, masa/array manipülasyonu için genel işlevler sağlar ve tüm işlevlerini global table değişken içinde sağlar.table kütüphanesindeki çoğu işlev, tablonun bir dizi veya listeyi temsil ettiğini varsayar.Bu işlevler için, bir tablonun "uzunluğu" uzunluk işlecisinin sonucunu ifade eder.

Özet

İşlevler

  • clear(table : table):()

    Verilen tablodaki tüm anahtarları nil 'ye ayarlar.

  • Verilen tablonun yüzeysel bir kopyasını döndürür.

  • concat(t : Array,sep : string,i : number,j : number):string

    Verilen tablo öğelerinin yelpazesini bir dize olarak döndürür ve her bir öğe verilen ayrıcı ile ayrılır.

  • create(count : number,value : Variant):table

    Belirtilen değerin birçok örneğiyle doldurulmuş yeni bir tablo döndürür.

  • find(haystack : table,needle : Variant,init : number):Variant

    İlk oluşumun needle içindeki indeksini döndürür haystack çünkü çıkış init 'dan başlar.

  • Verilen tabloyu okunur yapar.

  • insert(t : Array,pos : number,value : Variant):()

    Verilen değeri dizinin hedef konumuna girer.

  • insert(t : Array,value : Variant):()

    Verilen değeri dizinin sonuna ekler.

  • Verilen tablo donmuşsa true ve donmamışsa false döndürür.

  • Verilen tablonun maksimum sayısal anahtarını veya sayısal anahtarı olmadığında sıfırı döndürür.

  • move(src : table,a : number,b : number,t : number,dst : table):table

    Belirtilen element aralığını bir tablodan diğerine kopyalar.

  • pack(values... : Variant):Variant

    Verilen değerleri içeren yeni bir tablo döndürür.

  • remove(t : Array,pos : number):Variant

    Belirtilen elemanı diziden kaldırır ve mümkünse boş alanı doldurmak için daha sonra elemanları aşağıya kaydırır.

  • sort(t : Array,comp : function):()

    Verilen karşılaştırma işlevini veya < operatörünü kullanarak tablo elemanlarını sıralar.

  • unpack(list : table,i : number,j : number):Tuple

    Verilen listeden tüm elemanları bir tupl olarak döndürür.

İşlevler

clear

()

Verilen tabladaki tüm anahtarların değerini nil olarak ayarlar.Bu, verilen tablo için # operatörünün dönmesine neden olur 0 .Tablonun düzeninin ayrılan kapasitesi korunur, bu da alanın verimli bir şekilde yeniden kullanılmasına izin verir.


local grades = {95, 82, 71, 92, 100, 60}
print(grades[4], #grades) --> 92, 6
table.clear(grades)
print(grades[4], #grades) --> nil, 0
-- Dereceler aynı sayıda girişle tekrar doldurulursa,
-- potansiyel olarak pahalı bir dizi yeniden boyutlandırması meydana gel
-- because the capacity was maintained by table.clear.

Bu işlev, verilen tabloyu silmez/yok etmez. Bu işlev, yeniden kullanılacak tablolar için özellikle kullanılması gerekir.

Parametreler

table: table

Anahtarları temizlenecek tablo.

Dönüşler

()

clone

Verilen tablonun donmasız bir kısa kopyasını döndürür.

Parametreler

Kopyalanacak tablo.

Dönüşler

Verilen tablonun klonu.

concat

Tüm elemanlar dizilere veya sayılara dönüşen bir dizi verildiğinde, dizeyi t[i] ... sep ... t[i+1] ... sep ... t[j] döndürür. sep için varsayılan değer boş bir dize, varsayılanı i için 1 ve varsayılanı j için #t'dir.Eğer i j dan büyükse, boş dizeyi döndürür.

Parametreler

Bir dizeye dönüştürülecek tablo.

sep: string

Tablodaki her giriş arasında birleştirilecek dize.

Tablo birleştirmenin başlangıç indeksi.

Varsayılan değer: 1

Tablo birleştirmenin son indeksi.

Dönüşler

create

Verilen number öğelere ayrılan array bölümü ile bir tablo oluşturur, isteğe bağlı olarak verilen value ile doldurulur.


local t = table.create(3, "Roblox")
print(table.concat(t)) --> RobloxRobloxRoblox

Büyük dizilimli tablolara giriyorsanız ve öğe sayısına ilişkin makul bir üst sınıra emin iseniz, bu işlevi kullanarak tabloyu başlatmanız önerilir.Bu, masanın bellek kısmının yeterince büyük olduğundan emin olur, çünkü yeniden boyutlandırmak pahalı olabilir.Küçük miktarlar için bu genellikle fark edilmez.

Parametreler

count: number
value: Variant

Dönüşler

find

Variant

Verilen array benzeri tablo haystack içinde, indeks init veya başlangıç ​​verilmediğinde başlayarak değerin ilk oluşumunu bulun needle .Değer bulunamıyorsa, nil geri döndürülür.

Bir lineer arama algoritması yapılır.


local t = {"a", "b", "c", "d", "e"}
print(table.find(t, "d")) --> 4
print(table.find(t, "z")) --> nil, çünkü z tabloda değil
print(table.find(t, "b", 3)) --> nil, because b appears before index 3

Parametreler

haystack: table
needle: Variant
init: number

Dönüşler

Variant

freeze

Bu işlev, verilen tabloyu etkili bir şekilde okunur ve dondurur, mevcut durumunda değiştirmeye çalışmak bir hata oluşturur.

Bu dondurma etkisi yüzeyseldir, yani donmuş bir tabloda bir tabloya yazabilirsiniz.Bir tabloyu derin dondurmak için, bu işlevi tüm inen tablolarda recursively çağırın.

Parametreler

Dondurulacak tablo.

Dönüşler

Donmuş tablo.

insert

()

Verilen değeri dizinin hedef konumuna girer.

Parametreler

Eklenecek tablo.

pos: number

Değerin yerleştirileceği pozisyon.

value: Variant

Tabloya eklenmesi gereken değer.

Dönüşler

()

insert

()

Verilen değeri dizinin sonuna ekler.

Parametreler

Eklenecek tablo.

value: Variant

Tabloya eklenmesi gereken değer.

Dönüşler

()

isfrozen

Bu işlev, verilen tablo dondurulduysa true ve dondurulmadıysa false döndürür. table.freeze() kullanarak tabloları dondurabilirsiniz.

Parametreler

Kontrol edilecek kontrol et.

Dönüşler

Masanın table.freeze() 'den dondurulup dondurulmadığı.

maxn

Verilen tablonun maksimum sayısal anahtarını veya sayısal anahtarı olmadığında sıfırı döndürür. Masadaki boşluklar göz ardı edilir.

Parametreler

Dönüşler

move

Tabloda 'den kadar elemanları kopyalar , indeks ile başlayan tabloda 'a kadar.Atama ifadesine eşdeğer dst[t], ..., dst[t + (b - a)] = src[a], ..., src[b] .

Varsayılan dst için değer src dir. Hedef menzili kaynağın menziliyle örtüşebilir.

Konfor için dst döndürür.

Parametreler

src: table

Kaynak tablosu.

Kopyalamaya başla src[a] .

Kopyalamak ve src[b] dahil olmak üzere en fazla kadar.

Kopyala dst[t], ... içine.

dst: table

Varış tablosu.

Varsayılan değer: src

Dönüşler

dst , konfor için.

pack

Variant

Tüm argümanları 1, 2 vb. anahtarlara depolanan yeni bir tablo döndürürve toplam argüman sayısı ile bir alan "n" ile.Sonuç tablosunun bir sıra olmayabileceğini unutmayın.


local t = table.pack(1, 2, 3)
print(table.concat(t, ", ")) --> 1, 2, 3

Parametreler

values...: Variant

Dönüşler

Variant

remove

Variant

Diziden pos konumundaki elemanı kaldırır ve kaldırılan elemanın değerini döndürür.Pos, 1 ve #t arasında bir tamsayı olduğunda, elemanları t[pos+1], t[pos+2], ..., t[#t] ve elemanı siler t[#t] .Pos parametri sağlanmazsa, pos son elemanı kaldıran tablonun uzunluğuna varsayılan olur.

Parametreler

Elemanı kaldıran tablo.

pos: number

Kaldırılan elemanın indeksi.

Dönüşler

Variant

sort

()

Dizinin elemanlarını belirli bir sırayla sıralar, t[1] ile t[#t] arasında.Eğer comp verilirse, ilk elemanın ikinci elemandan önce gelmesi gerektiğinde gerçek döndüren bir işlev olmalıdır ve ilk eleman son sırada gelmelidir.

Hata invalid order function for sorting her ikisi de comp(a, b) ve comp(b, a) döndürürse atılır, eğer her ikisi de true döndürürse.

Eğer comp verilmezse, standart Luau operatörü < yerine kullanılır.

Parametreler

comp: function

Tablodaki öğeleri karşılaştırırken kullanılacak opcional bir karşılaştırma işlevi.Bu işlev iki eleman alır ve ilk eleman son sıraya göre sıralanmalı ise ilk eleman sıralanmadan önce gerçek döndürmelidir.

Varsayılan değer: nil

Dönüşler

()

unpack

Verilen listeden elemanları döndürür. Varsayılan olarak, i 1 ve j``list uzunluğudur.

Aynı işlevsellik, küresel unpack() işlevi tarafından da sağlandığını unutmayın.

Parametreler

list: table

Açılacak öğelerin listesi.

Açılacak ilk elemanın indeksi.

Varsayılan değer: 1

Açılacak son elemanın indeksi.

Varsayılan değer: #list

Dönüşler