string

String türü bir karakter dizisidir.

String kütüphanesi, string'lerin manipülasyonu için fonksiyonlar sağlayan standart bir Lua kütüphanesidir.[1]

Garry's Mod'da bu kütüphaneye eklenmiş birçok ekstra kullanışlı fonksiyon ve özellik bulunmaktadır.
En önemlisi, tüm string'ler bu kütüphaneye string metatable index fonksiyonu aracılığıyla erişir.[2]

Bu, tüm string'lerin tablo nesneleri gibi ve string kütüphanesinin de onun Meta Tablosu gibi ele alındığı anlamına gelir.

local x = "Kittens" function string.Foobar(self) return self:Right(4) end string.Right(x,4) == x:Right(4) == x:Foobar() == ("Kittens"):Right(4) == x[-4]..x[-3]..x[-2]..x[-1]

Ancak string metatable'ı farklı bir şeydir ve ona erişmek için getmetatable("") kullanmalısınız.

Buradaki fark, string'leri birleştirmek için (+) yerine (..) kullanmak gibi Metamethod'larla ilgilidir.

Birleştirme için + operatörünü kullanmak, string'leri sayı olarak toplamak için kullanılan lua metamethod'unu bozar (Örnek: "10" + "1", 11 (sayı) döndürür) ve bu 400 kat DAHA YAVAŞTIR!
local stringmeta = getmetatable("") function stringmeta.__add(str,x) return str..x end -- Bu çalışacaktır function string.__add(str,x) return str..x end -- Ama bu çalışmayacaktır. print("Kittens" + " And " + "Puppies")

Daha fazla bilgi için Meta Tabloları ve Metamethods sayfalarına bakın.

Ne yaptığınızı bilmiyorsanız string metatable'ında değişiklik yapmak iyi bir fikir değildir. Bunun yerine string kütüphanesini kullanın.

Bu kategori, string kütüphanesinde bulunan fonksiyonları listeler.

Metotlar

vararg string.byte( string string, number startPos = 1, number endPos = startPos )
Verilen string'in karakterlerini sayısal ASCII gösterimleriyle döndürür. Dilim uzunluğu 8000 karakterden büyükse bu fonksiyon bir hata fırlatır.
Bir kardinal (111) sayıyı, sıralı/ardışık varyasyonuna (111.) dönüştürür. Sadece soneki döndüren bir fonksiyon için ayrıca STNDRD'ye bakın.
string string.char( ... )
Verilen sayısal baytları alır ve bunları bir string'e dönüştürür.
string string.Comma( number value, string separator = "," )
Verilen bir sayının her üç basamağına virgül ekler.
string string.dump( function func, boolean stripDebugInfo = false )
Verilen fonksiyonun ikili (binary) bytecode'unu döndürür. Bu, C/C++ ile oluşturulmuş fonksiyonlarla çalışmaz. Eğer öyleyse bir hata fırlatılır.
boolean string.EndsWith( string str, string end )
İkinci olarak verilen string'in, birincisinin sonuyla eşleşip eşleşmediğini döndürür.
table string.Explode( string separator, string str, boolean withpattern = false )
Verilen ayırıcıyı bulduğu her yerde bir string'i böler. `string.Split` fonksiyonu, desen kullanımını desteklememesi dışında bu fonksiyonun bir takma adıdır (alias). Bu fonksiyonun ters işlemi için `string.Implode`'a bakın.
number, number, string string.find( string haystack, string needle, number startPos = 1, boolean noPatterns = false )
Belirtilen alt string'i bir string içinde bulmaya çalışır. Bu fonksiyon varsayılan olarak Lua Desenlerini (Patterns) kullanır.
string string.format( string format, ... )
Belirtilen değerleri verilen string'e formatlar.
string string.FormattedTime( number float, string format = nil )
Zamanı formatlanmış bir string olarak veya format verilmemişse bir tablo olarak döndürür.
string string.FromColor( table color )
Bir Color değişkeninden bir string oluşturur.
string string.GetChar( string str, number index )
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. `string.sub(str, index, index)` veya `str[index]` kullanın. Sağlanan string'deki belirtilen indeksten karakter değerini döndürür.
Dosyanın uzantısını döndürür.
Dosya adını ve uzantısını döndürür.
Bir dosya yolundan yalnızca yolu döndürür.
function string.gfind( string data, string pattern )
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. Bu fonksiyon, GMod'un şu anda kullandığından daha yeni Lua sürümlerinde kaldırılmıştır. Bunun yerine `string.gmatch` kullanın. Desenin her tam eşleşmesi için çağrılan bir yineleyici (iterator) fonksiyonu döndürür, tüm alt eşleşmeler döngüye geçirilir.
function string.gmatch( string data, string pattern )
Desenleri (Patterns) kullanarak, yakalama grupları tanımlanmamışsa tek bir değer veya herhangi bir yakalama grubu eşleşmesini döndürecek bir yineleyici (iterator) döndürür.
string, number string.gsub( string string, string pattern, string replacement, number maxReplaces = nil )
Bu fonksiyonun ana amacı, Desenleri (Patterns) kullanarak bir string'deki belirli karakter dizilerini değiştirmektir.
string string.Implode( string separator = "", table pieces )
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. Gerçekten sadece `table.concat` kullanmalısınız. Bir tablonun değerlerini birleştirerek bir string oluşturur. Bu, `string.Explode`'un tersidir ve daha az özelliğe sahip olması dışında işlevsel olarak `table.concat` ile aynıdır.
string string.Interpolate( string str, table lookuptable )
Verilen bir string'i, verilen tablo ile interpole eder. Bu, yerelleştirilmiş string'leri formatlamak için kullanışlıdır.
Bir string'deki JavaScript için özel karakterlerden kaçar (escapes), böylece string'in JavaScript string'lerine dahil edilmesi için güvenli hale getirir.
string string.Left( string str, number num )
Bu string'in belirtilen konumunun solundaki her şeyi döndürür.
number string.len( string str )
String'deki karakter sayısını (uzunluk) sayar. Bu, uzunluk operatörünü (#) kullanmaya eşdeğerdir.
string string.lower( string str )
Bir string'deki büyük harfleri küçük harflere çevirir. Bu fonksiyon, İngilizce olmayan özel UTF-8 karakterlerinde çalışmaz.
vararg string.match( string string, string pattern, number startPosition = 1 )
Bir string'de bir Desen (Pattern) bulur.
string string.NiceName( string text )
"string_gibiBu" şeklindeki bir metni daha insan dostu "String Gibi Bu" şekline dönüştürür. Bu, flex ve bodygroup isimlerini daha dostane bir formata dönüştürmek için Faceposer ve diğer kodlar tarafından dahili olarak kullanılır.
string string.NiceSize( number bytes )
Dijital bir dosya boyutunu insanlar tarafından okunabilir bir metne dönüştürür.
string string.NiceTime( number num )
Verilen sayıyı (saniye cinsinden) mümkün olan en yüksek zaman birimine formatlar.
string string.PatternSafe( string str )
Bir string içindeki tüm özel karakterlerden kaçar (escapes), böylece string'i bir Lua desenine dahil etmek için güvenli hale getirir.
string string.rep( string str, number repetitions, string separator = "" )
Bir string'i, isteğe bağlı bir ayırıcı ile, belirtilen sayıda tekrar eder.
string string.Replace( string str, string find, string replace )
Verilen ikinci string'in tüm tekrarlarını değiştirir.
string string.reverse( string str )
Bir string'i tersine çevirir.
string string.Right( string str, number num )
String'in son n-inci karakterlerini döndürür.
string string.SetChar( string InputString, number Index, string ReplacementChar )
String'in belirli bir indeksindeki karakteri ayarlar.
table string.Split( string Inputstring, string Separator )
String'i ikinci argümanla ayrılmış bir string tablosuna böler. Bu, `string.Explode`'un bir takma adıdır (alias), ancak argümanları ters çevrilmiştir.
boolean string.StartsWith( string inputStr, string start )
İlk string'in ikinciyle başlayıp başlamadığını döndürür.
boolean string.StartWith( string inputStr, string start )
Bunu kullanmamanızı tavsiye ederiz. Gelecekteki bir güncellemede değiştirilebilir veya kaldırılabilir. `string.StartsWith` kullanın. İlk string'in ikinciyle başlayıp başlamadığını döndürür. Bu, `string.StartsWith`'ın bir takma adıdır (alias).
Bir yolun uzantısını kaldırır.
string string.sub( string string, number StartPos, number EndPos = nil )
String'in StartPos konumundaki karakterden başlayarak (dahil) ve isteğe bağlı olarak EndPos konumundaki karakterde biten (bu da dahil) bir alt string döndürür. Eğer EndPos verilmezse, string'in geri kalanı döndürülür.
table string.ToColor( string Inputstring )
Bir string'den bir Color türü alır.
Verilen zamanı "DD:SS" formatında döndürür.
Verilen zamanı "DD:SS:ms" formatında döndürür.
table string.ToTable( string str )
String'i karakterlere böler ve ardışık bir karakter tablosu oluşturur. Kodlamanın bir sonucu olarak, ASCII olmayan karakterler çıktı tablosunda birden fazla karaktere bölünecektir. Çıktı tablosundaki her karakter değeri her zaman 1 bayt olacaktır.
string string.Trim( string Inputstring, string Char = "%s" )
Bir string'in başındaki ve sonundaki eşleşmeleri kaldırır.
string string.TrimLeft( string str, string char = "%s" )
Bir string'in başındaki boşlukları/karakterleri kaldırır.
string string.TrimRight( string str, string char = "%s" )
Bir string'in sonundaki boşlukları/verilen karakteri kaldırır.
string string.upper( string str )
Bir string'deki küçük harfleri büyük harflere çevirir. Bu fonksiyon, İngilizce olmayan özel UTF-8 karakterlerinde çalışmaz.

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord