Kavramlar - Değişkenler
Değişkenler, nedir bunlar?
Değişkenler, scriptinizin bilgi tutmasını sağlar. Bir değişken kullanarak, bir veri parçasını bir kez saklayabilir ve daha sonra istediğiniz zaman ona başvurabilirsiniz. Lua, bir değişkeni kesin olarak belirli bir türde bildirmenizi gerektirmez, bu nedenle hiçbir şey (nil) de dahil olmak üzere kesinlikle her şeyi tutabilirler.
Özet: Scriptleri kaydetme, çalıştırma ve print çağırma
Şu andan itibaren, not defterini açma, kaydetme ve Garry's Mod'da bir script yükleme hakkında açıklamaya ihtiyacınız olmadığı varsayılmaktadır. Unutursanız ilk sayfaya başvurun.
Editörünüzü açın. Değişkenler içeren yeni bir script yapacağız!
Son eğitimde, konsola basit bir string (metin dizisi) yazdırmayı öğrenmiştik:
Bu oldukça basitti: scriptimiz her çalıştığında, konsolda "Hello World!" yazıyordu:
print() bir fonksiyondur. Fonksiyon, çağırdığınızda bir şey yapan bir komuttur. Birçok fonksiyon, tam olarak ne yapacağını değiştirmek için fonksiyona verdiğiniz veriler olan argümanlar alabilir. Bu durumda, print() bir argüman alır, bu bir string'dir (bir dizi harf, sayı, boşluk vb.) ve print() çağrıldığında, bu string'i konsola koyar.
Kodu parça parça inceleyelim ki anlayabilelim.
print, çağırdığımız fonksiyonun adıdır.
( ve ) (bu sembollere parantez denir) print'in konsola yazmasını istediğiniz metni koyduğunuz yerdir.
"Hello World!" yazdırmayı seçtiğimiz metindir; bu bir string'dir - "" (tırnak işaretleri) dikkat edin. Tırnak işaretleri, Lua'ya aralarındaki her şeyin bir değişken adı değil, bir string olduğunu söyler. Şunu yapmak:
çalışmayacaktır, çünkü tırnak işaretlerini unuttuk! Eğer bunu yaparsak, Lua Hello ve World!'ün bir string sabiti yerine iki değişkenin adı olduğunu düşünecektir. Unutmayın: Lua'ya verdiğimiz bilginin bir tür metin olduğunu bildirmek istediğimiz her zaman, metni bir string olarak temsil etmek için tırnak işaretleri arasına koyarız.
Vay be! Hala benimle misiniz? Şimdiye kadar hatırlamanız gereken kelimeler şunlar:
- Değişken (bir değer tutar)
- Fonksiyon (bir şey yapar, argüman alabilir)
- Argümanlar, diğer adıyla Parametreler (fonksiyonlar bunları alır ve onlarla bir şeyler yapar)
print(konsola metin yazan bir fonksiyon)- String (metin verisi tutan bir değişken türü)
- Parantezler
- Tırnak İşaretleri
Artık fonksiyonların nasıl çalıştığını, string'lerin nasıl temsil edildiğini ve fonksiyonların nasıl çağrılacağını bildiğimize göre, değişkenleri nasıl tanımlayacağımıza veya bildireceğimize ve onlara değer atayacağımıza geçelim.
Değişkenleri tanımlama
Bir değişken şu şekilde oluşturulabilir:
Değişkenin adı (myName) soldadır. Eşittir işareti, bu değişkenin değerini sağdakine ayarlamak istediğinizi söyler. Hatırlarsanız, "Jeff" bir string'dir, çünkü etrafında tırnak işaretleri vardır. myName bir değişkenin adıdır, çünkü etrafında tırnak işaretleri yoktur! Anlamaya başladınız mı?
Şimdi muhtemelen, bunun ne anlamı var diye düşünüyorsunuzdur? İşte bunu görmek için buradayız.
Ama önce, metin yerine bir değişkenle print()'in nasıl kullanılacağını görelim. Şimdiye kadar bildiğiniz gibi, mesajı ilk kullandığımız yol şöyleydi.
Ne yazdırılacağını söylemek için print() içinde bir string kullanıyoruz. Ama bir değişken kullanmak istiyorsak, şunu yaparız:
Bu her çalıştığında, print() konsola Jeff yazar, çünkü myName, Jeff'tir. Heh, gördünüz mü?
Değişkenleri, onları oluşturduğunuz şekilde değiştirebilirsiniz. Şöyle ki:
Yukarıdaki örnek önce Jeff, sonra Josh yazar.
Kafanız mı karıştı? Cebiri hatırlayın
Umarım bu noktada kafanız çok karışmamıştır. Neyse ki, daha önce matematik, özellikle de cebir yaptıysanız, değişkenleri, fonksiyonları ve hatta argümanları zaten görmüşsünüzdür! Örneğin, bir cebir probleminin şöyle dediği zamanı hatırlayın
Bu, değişkenin adı olan x'in, 4 değerini tuttuğu anlamına gelir, bu da "4, x'e atanmıştır" veya "x, 4'tür" şeklinde de söylenebilir.
Cebirde, f adında bir fonksiyonun şöyle tanımlandığını da görmüş olabiliriz
Eğer x değişkenimizin değerini f(x) fonksiyonuna "yerine koysaydık" veya "geçseydik", fonksiyon bunu 9'u hesaplamak için kullanırdı, çünkü 2 çarpı 4 yapıp 1 eklerdi. Bu durumda, f fonksiyondur, x argümandır ve fonksiyonun içinde hesaplanan her şey (2x + 1) tamamen ona geçilen x argümanının değerine bağlıdır. Örneğin, argüman olarak 3'ü geçseydik, fonksiyon 7'yi hesaplardı.
Bunun nasıl çalıştığını bildiğimize göre, şimdiye kadar öğrendiklerimizi kullanarak Lua'da yazmayı deneyebiliriz. Henüz kendi fonksiyonlarımızı nasıl tanımlayacağımızı bilmediğimiz için, koda sadece print fonksiyonunu kullanarak 2x+1'in sonucunu yazdırmasını söyleyeceğiz:
Umarım bu, değişkenleri, fonksiyonları ve argümanları biraz daha iyi anlamanıza yardımcı olur.
Yerel Değişkenler
Yerel değişkenler, yalnızca tanımlandıkları kod bloğunda (tanımlandıkları "kapsam" olarak da bilinir) ve sonraki tüm alt kod bloklarında kullanılabilen değişkenlerdir. Şu şekilde tanımlanırlar:
Çoğu durumda, diğer scriptlerin onları geçersiz kılmasını önlemek veya scriptinizin başka bir scriptten bir şeyi geçersiz kılmamasını sağlamak için yerel değişkenler kullanmak isteyeceksiniz.
Bu örnek, global bir değişken ile yerel bir değişken arasındaki farkı, özellikle de kapsamın nasıl çalıştığını gösterir:
Bu kodun çıktısı şu şekilde olacaktır:
Birleştirme (Concatenation)
İki tür veriyi bir string oluşturmak için birleştirmeye birleştirme (concatenation) denir. Birleştirmek için sadece .. kullanmanız yeterlidir. İşte bir örnek:
"I don't like " .. "being apart." ifadesi "I don't like being apart." haline gelir.
Aynı şekilde, bir string sabitini ve bir değişkeni birleştirebilirsiniz:
Bu, "Atlantik'e hoş geldin, Jeff" yazdırır çünkü myName değişkeni "Jeff" değerini tutmaktadır. Aslında yaptığı şey şudur:
"Atlantik'e hoş geldin, " .. "Jeff"
.. operatörünü istediğiniz kadar kullanabilirsiniz. Aşağıya bakın:
Hatta sayılar gibi diğer türdeki değerleri de bir string ile birleştirebiliriz:
Yeni Satırlar (Newlines)
Burada ele alacağımız son şey, string'lerin içinde yeni satırların (newlines) nasıl kullanılacağıdır. Yeni satırlar, yeni satırın başlamasını istediğiniz yerde bir string içinde \n yazarak oluşturulur. Yeni bir satır eklemek için string'in herhangi bir yerinde yeni satırları kullanabilirsiniz (aşağıya bakın):
Bu, konsola şunu yazdırır:
Çok satırlı string'ler, tırnak işaretleri yerine çift köşeli parantez ([[ ]]) kullanılarak da tanımlanabilir. Bu, string içinde \n kullanmadan yeni satırlar oluşturmanıza olanak tanır.
Örnek:
Çıktısı:
Sırada ne var?
Sırada koşullar hakkında bilgi edineceğiz.
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord