Lua - Standart Kitaplıklar
Lua standart kitaplıkları, doğrudan C API ile uygulanan ve Lua programlama dili ile yerleşik olan zengin bir işlevler kümesi sağlar. Bu kütüphaneler Lua programlama dili dahilinde ve ayrıca dosya ve db işlemleri gibi dış hizmetler sunar.
Resmi C API'de oluşturulan bu standart kitaplıklar, ayrı C modülleri olarak sağlanır. Aşağıdakileri içerir -
- Coroutine alt kitaplığını içeren temel kitaplık
- Modül kitaplığı
- Dize manipülasyonu
- Tablo manipülasyonu
- Matematik kütüphanesi
- Dosya Girişi ve çıkışı
- İşletim sistemi tesisleri
- Hata ayıklama tesisleri
Temel Kitaplık
Eğitim boyunca temel kitaplığı çeşitli konular altında kullandık. Aşağıdaki tablo, ilgili sayfaların bağlantılarını sağlar ve bu Lua öğreticisinin çeşitli bölümlerinde ele alınan işlevleri listeler.
Sr.No. | Kütüphane / Yöntem ve Amaç |
---|---|
1 | Error Handling Lua - Hata İşleme'de açıklandığı gibi assert, hata gibi hata işleme işlevlerini içerir . |
2 | Memory Management Lua - Garbage Collection'da açıklandığı gibi, çöp toplamayla ilgili otomatik bellek yönetimi işlevlerini içerir . |
3 | dofile ([filename]) Dosyayı açar ve dosyanın içeriğini bir yığın olarak yürütür. Hiçbir parametre aktarılmazsa, bu işlev standart girişin içeriğini yürütür. Hatalar arayan kişiye iletilecektir. |
4 | _G Böylece, global ortamı tutan global değişkendir (yani, _G._G = _G). Lua'nın kendisi bu değişkeni kullanmaz. |
5 | getfenv ([f]) İşlev tarafından kullanılan geçerli ortamı döndürür. f bir Lua işlevi veya bu yığın düzeyinde işlevi belirten bir sayı olabilir - Düzey 1, getfenv'i çağıran işlevdir. Verilen işlev bir Lua işlevi değilse veya f 0 ise, getfenv genel ortamı döndürür. F için varsayılan 1'dir. |
6 | getmetatable (object) Nesnenin metatlanabilirliği yoksa nil döndürür. Aksi takdirde, nesnenin metatable bir "__metatable" alanına sahipse, ilişkili değeri döndürür. Aksi takdirde, verilen nesnenin metatableını döndürür. |
7 | ipairs (t) Bu fonksiyon, tabloların indislerini ve değerlerini alır. |
8 | load (func [, chunkname]) İşlevini kullanarak parçalarını almak için bir yığın yükler. Her func çağrısı, önceki sonuçlarla biten bir dize döndürmelidir. |
9 | loadfile ([filename])) Yüklemeye benzer, ancak öbeği dosya adından veya dosya adı verilmemişse standart girdiden alır. |
10 | loadstring (string [, chunkname]) Yüklemeye benzer, ancak parçayı verilen dizeden alır. |
11 | next (table [, index]) Bir programın bir tablonun tüm alanlarını geçmesine izin verir. İlk argümanı bir tablodur ve ikinci argümanı bu tablodaki bir indekstir. next, tablonun bir sonraki dizinini ve ilişkili değerini döndürür. |
12 | pairs (t) Çalışan koroutini askıya alır. Bu yönteme iletilen parametre, devam etme işlevine ek dönüş değerleri olarak işlev görür. |
13 | print (...) Çalışan koroutini askıya alır. Bu yönteme iletilen parametre, devam etme işlevine ek dönüş değerleri olarak işlev görür. |
14 | rawequal (v1, v2) Herhangi bir meta yöntemi çağırmadan v1'in v2'ye eşit olup olmadığını kontrol eder. Bir boole döndürür. |
15 | rawget (table, index) Herhangi bir meta yöntemi çağırmadan tablo [dizin] gerçek değerini alır. tablo bir tablo olmalıdır; indeks herhangi bir değer olabilir. |
16 | rawset (table, index, value) Herhangi bir meta yöntemi çağırmadan, [dizin] tablosunun gerçek değerini değer olarak ayarlar. tablo bir tablo olmalı, sıfırdan farklı herhangi bir değeri indekslemeli ve herhangi bir Lua değerine değer vermelidir. Bu fonksiyon tablo döndürür. |
17 | select (index, ...) Dizin bir sayı ise, bağımsız değişken sayı dizininden sonraki tüm bağımsız değişkenleri döndürür. Aksi takdirde, dizin "#" dizesi olmalıdır ve select, aldığı ekstra bağımsız değişkenlerin toplam sayısını döndürür. |
18 | setfenv (f, table) Verilen işlev tarafından kullanılacak ortamı ayarlar. f bir Lua işlevi veya bu yığın düzeyinde işlevi belirten bir sayı olabilir - Düzey 1, setfenv'i çağıran işlevdir. setfenv verilen işlevi döndürür. Özel bir durum olarak, f 0 olduğunda setfenv çalışan iş parçacığının ortamını değiştirir. Bu durumda setfenv hiçbir değer döndürmez. |
19 | setmetatable (table, metatable) Verilen tablo için metatable'ı ayarlar. (Diğer türlerin metatable'ını Lua'dan değiştiremezsiniz, yalnızca C'den değiştiremezsiniz.) Metatable sıfır ise, verilen tablonun metatable'ını kaldırır. Orijinal metatable bir "__metatable" alanına sahipse, bir hata oluşturur. Bu fonksiyon tablo döndürür. |
20 | tonumber (e [, base]) Argümanını bir sayıya dönüştürmeye çalışır. Bağımsız değişken zaten bir sayı veya sayıya dönüştürülebilir bir dizeyse, tonumber bu sayıyı döndürür; aksi takdirde sıfır döndürür. |
21 | tostring (e) Herhangi bir türde argüman alır ve bunu makul bir biçimde bir dizeye dönüştürür. Sayıların nasıl dönüştürüldüğünü tam olarak kontrol etmek için string.format kullanın. |
22 | type (v) Dizge olarak kodlanmış tek bağımsız değişkeninin türünü döndürür. Bu işlevin olası sonuçları "nil" (bir dize, sıfır değeri değil), "sayı", "dize", "boole", "tablo", "işlev", "iş parçacığı" ve "kullanıcı verileri" dir. |
23 | unpack (list [, i [, j]]) Verilen tablodaki öğeleri döndürür. |
24 | _VERSION Geçerli yorumlayıcı sürümünü içeren bir dizeyi tutan genel bir değişken (işlev değil). Bu değişkenin güncel içeriği "Lua 5.1" dir. |
25 | Coroutines Lua - Koroutinler'de açıklandığı gibi koroutin işleme işlevlerini içerir . |
Modül Kitaplığı
Modül kitaplığı, Lua'da modülleri yüklemek için temel işlevleri sağlar. Bir işlevi doğrudan küresel ortama aktarır: gereksinim. Diğer her şey bir tablo paketinde dışa aktarılır. Modül kitaplığıyla ilgili ayrıntılar, önceki Lua - Modüller eğitimi bölümünde açıklanmıştır .
Dize manipülasyonu
Lua, zengin bir dizi işleme işlevi sağlar. Daha önceki Lua - Strings öğreticisi bunu ayrıntılı olarak ele alıyor.
Tablo manipülasyonu
Lua, operasyonlarının hemen hemen her bölümünde tablolara bağımlıdır. Daha önceki Lua - Tablolar öğreticisi bunu ayrıntılı olarak ele almaktadır.
Dosya Girişi ve çıkışı
Programlamada genellikle veri depolama olanağına ihtiyaç duyarız ve bu, Lua'daki dosya G / Ç'si için standart kütüphane işlevleriyle sağlanır. Daha önceki Lua - Dosya G / Ç eğitiminde tartışılmıştır .
Hata ayıklama tesisleri
Lua, kendi hata ayıklayıcımızı oluşturmamız için tüm ilkel işlevleri sağlayan bir hata ayıklama kitaplığı sağlar. Daha önceki Lua - Hata Ayıklama öğreticisinde tartışılmıştır .