Belirteçleştirme için string.gmatch
string.gmatch ile bir dizedeki tüm eşleşmeler üzerinde yineleme yapın.
Belirteçleştirme için string.gmatch, CoddyKit'te ücretsiz bir Lua Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Lua Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Lua Academy kursu toplamda 4 dersten oluşur.
string.gmatch Nedir?
string.gmatch(s, pattern), s dizesindeki pattern eşleşmelerinin tümünü art arda döndüren bir yineleyici döndürür.
Sözcükler Üzerinde Yineleme
Boşluk olmayan karakter dizileriyle eşleşerek bir dizeyi sözcüklere ayırın.
local s = "the quick brown fox"
for word in s:gmatch("%S+") do
print(word)
endEşleşmeleri Bir Tabloda Toplama
Daha sonra işlemek üzere tüm eşleşmeleri bir tabloda toplayın.
local function split(s, pat)
local parts = {}
for token in s:gmatch(pat) do
parts[#parts+1] = token
end
return parts
end
local words = split("one two three", "%S+")
print(#words) -- 3Sayıları Çıkarma
%d+ deseniyle bir dizedeki tüm tam sayıları çıkarın.
local s = "x=10, y=20, z=30"
for n in s:gmatch("%d+") do
print(tonumber(n))
endgmatch'te Yakalamaları Kullanma
Desen yakalamalar içerdiğinde her yineleme, eşleşmenin tamamı yerine yakalanan grupları döndürür.
local s = "from=Alice, to=Bob, cc=Carol"
for k, v in s:gmatch("(%w+)=(%w+)") do
print(k, "->", v)
endCSV Belirteçleyicisi
Virgüller arasındaki her şeyi yakalayarak bir CSV satırını ayırın.
local csv = "apple,banana,cherry,date"
for field in (csv .. ","):gmatch("([^,]*),") do
print(field)
endAnahtar-Değer Çifti Ayrıştırma
HTTP tarzı bir üst bilgi dizesini anahtar-değer çiftlerinden oluşan bir tabloya ayrıştırın.
local headers = "Content-Type: text/html; Content-Length: 1234"
local parsed = {}
for k, v in headers:gmatch("([%w%-]+): ([^;]+)") do
parsed[k] = v:match("^%s*(.-)%s*$")
endDesen Görünümlerini Sayma
Bir desenin bir dizede kaç kez göründüğünü sayın.
local function count(s, pat)
local n = 0
for _ in s:gmatch(pat) do n = n + 1 end
return n
end
print(count("banana", "an")) -- 2Cümle Belirteçleyicisi
Noktalama işaretlerine kadar eşleştirerek metni cümlelere ayırın.
local text = "Hello. How are you? Fine!"
for sent in text:gmatch("[^.!?]+[.!?]?") do
print(sent:match("^%s*(.-)%s*$"))
endDöngüde gmatch ve string.find Karşılaştırması
Tüm eşleşmeler üzerinde yineleme yapmak için gmatch tercih edilir. Bir while döngüsünde string.find kullanmak daha ayrıntılıdır ve hataya daha açıktır.
Unicode Uyarısı
Lua desenleri baytlar üzerinde çalışır. Çok baytlı UTF-8 karakterleri, tek karakterlik desenlerle doğru şekilde eşleşmeyebilir. Tam Unicode desteği için bir UTF-8 kütüphanesi kullanın.
gmatch Sorusu
for w in s:gmatch("%S+") do ne üzerinde yineleme yapar?
Özet: string.gmatch
string.gmatch, standart Lua belirteçleyicisidir. Dizeleri ayırmak, tüm sayıları çıkarmak, anahtar-değer çiftlerini ayrıştırmak ve desen görünümlerini temiz bir yineleyici döngüsünde saymak için kullanın.
Sıkça Sorulan Sorular
“Belirteçleştirme için string.gmatch” dersi ücretsiz mi?
Evet — “Belirteçleştirme için string.gmatch” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Lua Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Lua Academy kursu toplamda 4 dersten oluşur.
“Belirteçleştirme için string.gmatch” dersinde ne öğreneceğim?
string.gmatch ile bir dizedeki tüm eşleşmeler üzerinde yineleme yapın. Lua Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Lua Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Lua Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Belirteçleştirme için string.gmatch” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Lua Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Lua Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Lua Örüntü Söz Dizimi
- Yakalamalar ve string.match
- Belirteçleştirme için string.gmatch
- Dönüşümler için string.gsub