coroutine

Coroutineler, thread'lere benzer ancak eş zamanlı olarak çalışmazlar. Görevleri bölmek ve fonksiyonları dinamik olarak duraklatıp & devam ettirmek için bir yol sunarlar.

Metotlar

thread coroutine.create( function func )
Verilen fonksiyondan bir coroutine oluşturur.
boolean coroutine.isyieldable()
Çalışan coroutine'in yield edilip edilemeyeceğini döndürür. Çalışan bir coroutine, ana thread'de değilse ve yield edilemeyen bir C fonksiyonu içinde değilse yield edilebilir. Bu, LuaJIT sürümündeki farklılık nedeniyle yalnızca x86-64 sürümlerinde mevcuttur. Buraya bakın
boolean, vararg coroutine.resume( thread coroutine, ... )
Verilen coroutine'i devam ettirir ve verilen argümanları, ya fonksiyon argümanlarına ya da fonksiyonun içindeki `coroutine.yield`'e iletir. Bir sonraki `yield` çağrısı veya fonksiyondaki `return` ile ne döndürülürse onu geri döndürür.
thread coroutine.running()
Aktif coroutine'i veya bir coroutine içinde değilsek nil değerini döndürür.
string coroutine.status( thread coroutine )
Kendisine iletilen coroutine'in durumunu döndürür; olası durumlar "suspended" (askıya alındı), "running" (çalışıyor) ve "dead" (sonlandı) şeklindedir.
coroutine.wait( number duration )
Devam etmeden önce coroutine'i belirtilen süre boyunca tekrar tekrar yield eder. Sadece bir coroutine içinde çalışır. Yalnızca nextbot coroutine think fonksiyonlarında kullanışlıdır. Bu fonksiyon, RealTime yerine CurTime kullanır.
function coroutine.wrap( function coroutine )
Çağrıldığında, `coroutine.resume`'i coroutine ve tüm ekstra parametrelerle çağırmaya eşdeğer olan bir fonksiyon döndürür. Döndürülen fonksiyon tarafından geri verilen değerler, yalnızca iç coroutine'in `yield` çağrısına iletilen değerleri içerir ve `coroutine.resume`'in sağladığı hatasız durumunu içermez. Başarısızlık durumunda bunun yerine bir hata fırlatılır.
vararg coroutine.yield( ... )
Aktif coroutine'i duraklatır ve tüm ek değişkenleri, coroutine'i en son devam ettiren `coroutine.resume` çağrısına iletir. Ayrıca, önceki `resume` çağrısına iletilen tüm ek değişkenleri geri döndürür.

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