Concepts - Iterators
İteratör nedir?
Çok basitçe, bir iterator bir function that değerler topluluğundaki bir sonraki değeri bir de kullanmak için alır.forBir iteratörün hızlı bir şekilde öğrendiğiniz bir örneği çiftlerİterator fonksiyonu.
Örnek
Çıkıştırma çiftleri
Neyi daha iyi anlamamıza yardımcı olmak için forAslında içsel olarak yapar, bu çiftlerin bir içine sarılmasının bir örneğidir.whileÇubuk içinde.forLoop, aşağıda görüldüğü gibi değerlerin kendileri üzerinde çalışmaktan başka her şey sizin için işlenir.
Kendi kitabımı nasıl yazacağım?
İteratörler biraz forsihir ve bir fonksiyonBaşka bir şey getirir .fonksiyonİki aşamaya bölünmüştür.
Diyelim ki bu örnek için, bir ip
Adım 1 - Başlatma
Önce jeneratörümüzü tanımlıyoruz.fonksiyonBu bizim iteratörümüz olarak hareket edecek.pairs
Sonrasında, olayları iki şekilde halledebiliriz, ya kendi "devletimizi" ele alabiliriz ya da Lua'nın bizim için tekrar devleti ele almasına izin verebiliriz.
Adım 2.a - Kendi devletimizi yönetmek
Kendi durumumuzu halletmek istiyorsak, onu bu şekilde tanımlarız.
Kendi durumumuzu yönetmek bazı avantajları ve bazı dezavantajları ile birlikte gelir. En büyük avantajlardan biri, durumumuzun jeneratörümüz tarafından gönderilen ilk değerin olması gerekmez.
Adım 2.b - Lua devletimizi ele alıyor
Eğer Lua'nın bizim için durumumuzu yönlendirmesine izin vermek istiyorsak jeneratörümüzden gönderilen ilk değerin bizim durumumuz olması gerektiğini unutmamalıyız, aksi takdirde atılacak.
Esoterik Bilgiler
İteratörden sonra geçilebilecek ek değerler vardır function call for inÇubuklar.
"Değişmeyen Bir Devlet"
İteratörden sonra function in a for inLoop, olarak adlandırılan bir şey sağlayabilirsiniz."değişmeyen durum"Temel olarak bu sabitfunction the iterator jeneratörünün geri dönüşleri için ilk argüman olarak geçerli olan veriler.
Bu birkaç nedenden ötürü faydalıdır, öncelikle, iyi tanımlanmış bir fonksiyonumuz varsa tamamen bir jeneratör oluşturmayı atlayabiliriz.
"Kontrol Değişkili"
Değişmeyen durumumuzun ardından, bir "kontrol değişkeni" sağlayabiliriz, bu başlangıç indeks değişkeni!
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord