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, tablo/arama manipülasyonu için genel işlevler sağlar, tüm işlevlerini table değişkeninde sağlar. table kütüphanesinin çoğu işlevi, bir tablinin uzunluğunu temsil eden sonucu kullanır. Bu işlevler için, bir tablinin uzunluğu operatörünün "Uzunluk" değeri kullanıl

Özet

İşlevler

  • clear(table : table):()

    Verilen tablodaki tüm anahtarları nula ayarlar.

  • Sunulan tabanın bir kısa kopyasını iade eder.

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

    Verilen tablo öğelerinin verilen ayrıcı ile ayrıldığı bir yuva olarak döndürür.

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

    Belirli değerin birçok instansıyla dolu yeni bir tabloyu iade eder.

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

    haystack başlangıcından itibaren haystack içindeki ilk olayın indeksini iade eder.

  • Verilen tabloyu yalnızca okuma modunda bırakır.

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

    Değer sağlayıcıyı matrisin hedef pozisyonuna yerleştirir.

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

    Sunulan değeri matrisin sonuna bağlar.

  • Eğer verilen tablo donmuşsa true veya donmuksa false döndürür.

  • Sunulan tabanın maksimum sayılı anahtarını veya sayılı anahtarı yoksa sıfırı döndürür.

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

    Bir tablodan özel bir menzili diğerine kopyalar.

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

    Sunulan değerleri içeren yeni bir tabloyu içerir.

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

    Elementi matrisinden kaldırır, daha son elemanları boş alana doldurabilmek için eşleştirilir.

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

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

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

    Verilen listenin tüm elemanlarını bir tuplu olarak iade eder.

İşlevler

clear

()

Verilen tablodaki tüm anahtarların değerini yok olarak ayarlar. Bu, # operatörünün verilen tablo için 0 döndüğünü sağlar. Tabloyun matrisi kaynağını korur, bu da alanın verimli bir şekilde yeniden kullanılmasını sağlar.


local grades = {95, 82, 71, 92, 100, 60}
print(grades[4], #grades) --> 92, 6
table.clear(grades)
print(grades[4], #grades) --> nil, 0
-- Notlar aynı sayıda girişlerle yeniden doldurulursa,
-- yapılandırma boyutlandırması meydana gel
-- because the capacity was maintained by table.clear.

Bu işlev, sağladığı tabloyu silmez / yok eder. Bu işlev, yeniden kullanılacak tablolar için özellikle kullanılır.

Parametreler

table: table

Anahtarları temizlenen masa.

Dönüşler

()

clone

Sunulan tabelanın donanmamış kısa bir kopyasını iade eder.

Parametreler

Klonlanacak masa.

Dönüşler

Verilen tabelanın klonu.

concat

Tüm elemanlar zincir veya sayı olarak verilen bir matris içinde verir string t[i] ... sep ... t[i+1] ... sep ... t[j] . Standart değer için sep boş bir dizi, standart değer için i 1'dir ve standart değer için j #

Parametreler

Dönüştürülecek dizi.

sep: string

Tablodaki her giriş arasında katlanacak olan yazılım.

Tablo birleştirmenin başlangıç indeksi.

Varsayılan değer: 1

Tablo birleştirmenin son indeksi.

Dönüşler

create

Verilen number elemanlarına ait veritabanı oluşturur, gerekliyse value ile doldurulabilir.


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

Büyük ölçekli tablolara giriyorsanız ve sayının eleman sayısına ilişkin mantıksal bir sınır olduğundan eminseniz, bu işlevi kullanarak tabloyu başlatmanız önerilir. Bu, belleğinizin boyutunu artırmak pahalı olabilir, çünkü büyütme maliyetli olabilir. Küçük miktarda bu genellikle fark edilmez.

Parametreler

count: number
value: Variant

Dönüşler

find

Variant

Verilen table-like table haystack içinde, ilk değerin oluşumunu bulun needle , indeksden başlayan init veya başlangıç değerleri olmadığından başlayan başlangıç değerleri olarak başlar. Eğer değer bulunamadıysa, 1> nil1> içerilir.

Bir geometrik 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 okuma yalnızca yapar ve aslında dondurur. Donmuş bir tabloyu değiştirmeye çalışmak bir hata oluşturur.

Bu donma etkisi yüzeydir, yani donmuş bir tablo içinde yazabilirsiniz. Bir tabloyu derin dondurabilmek için, bu işlevi tüm düşen tablolar içinde tekrar çağırın.

Parametreler

Donatılacak masa.

Dönüşler

Donmuş masa.

insert

()

Değer sağlayıcıyı matrisin hedef pozisyonuna yerleştirir.

Parametreler

Eklenecek tablo.

pos: number

Değerin yerleştirileceği konum.

value: Variant

Tablaya eklenecek değer.

Dönüşler

()

insert

()

Sunulan değeri matrisin sonuna bağlar.

Parametreler

Eklenecek tablo.

value: Variant

Tablaya eklenecek değer.

Dönüşler

()

isfrozen

Bu işlev true döndürür, false verilen masa dondurulmuşsa ve table.freeze() .

Parametreler

kontrol etetmek için masa.

Dönüşler

Masanın table.freeze() ile dondurulmuş olup olmadığı.

maxn

Sunulan tabanın maksimum sayılı anahtarını veya hiçbir sayılı anahtarı olmadığı takdirde tabanın boş bırakılır. Tabanın boş bırakılır.

Parametreler

Dönüşler

move

Kaynak kodu src ile src[a] 'den src[b] 'e kadar tabloda 2> src2> ile başlıyor. 5> t5> itibariyle atama ifadesi 8> dest8> ile başlıyor.

bst için varsayılan değer src olabilir. Gideş menzili kaynağın menzili ile çakışabilir.

Konvektör için dst geri döndürür.

Parametreler

src: table

Kaynağın masası.

Kopyalamayı src[a] başlat.

Copy up to and including src[b] .

Kopyalayın dst[t], ... .

dst: table

Gideceğiniz masa.

Varsayılan değer: src

Dönüşler

dst , kolaylık için.

pack

Variant

Tüm argümanlar "1", "2" veya "n" depolanmış olup anahtarlarda "n" ile bir yeni tablo döndürür. Sonuçta, sonuçta döndürülen tablo bir dizi olmayabilir.


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

Parametreler

values...: Variant

Dönüşler

Variant

remove

Variant

ポジションポジション içindeki elemanın kaldırıldığı yerden alınan öğenin değerini iade eder. POS bir sayı arasında 1 ve #t arasında bir sayıysa, elemanlar t[pos+1], t[pos+2], ..., t[

Parametreler

Elementi kaldırılan masa.

pos: number

Elementin kaldırılan indeksi.

Dönüşler

Variant

sort

()

Elementleri bir matematiksel formülün öğelerini bir dizi olarak verir, t[1] から t[#t] まで. Eğer comp verilirse, ilk öğenin ikinci sırayla gelmesi gerektiğinde geri dönüşü olmayan bir işlev olmalıdır.

Hata invalid order function for sorting iki comp(a, b) ve comp(b, a) işlevi için döndüğünde oluşur.

comp ile verilmezse, standart Lua operatörü < kullanılır.

Parametreler

comp: function

Tablodaki elemanları karşılaştırırken kullanılacak bir zorunlu karşılaştırma işlevidir. Bu işlev iki eleman alır ve ilk elemanın sıralanmasından önce ikinci elemanın sıralanması için doğru olmalıdır.

Varsayılan değer: nil

Dönüşler

()

unpack

Verilen listeden elemanları iade eder.Varsayılan olarak, i 1'dir ve j``listdır.

Aynı işlevin küresel şekilde unpack() işlevi tarafından da sağlandığını lütfen unutmayın.

Parametreler

list: table

Unpack ile dışa aktarılacak öğelerin listesi.

İlk unpack'ınızın indeksi.

Varsayılan değer: 1

son unpack'ınızın indeksi.

Varsayılan değer: #list

Dönüşler