Merhabalar,
Bu konu içerisinde Lua diline ait anlatımları, dersleri bulabileceksiniz. Bilindiği üzere Lua diline ait Türkçe kaynak yetersizliği bulunuyor. Kısıtlı Türkçe kaynaklara bir yenisini daha eklemek için bu konuyu açmış bulunuyoruz. Bu konuya önümüzdeki bir hafta içerisinde her gün yeni bir anlatım eklenecektir ve konu güncel tutulacaktır. Lafı fazla uzatmadan bir giriş yapalım. Lua nedir, nasıl kurulur? Bu konudan bahsedelim.
Lua Nedir?
Lua; güçlü, etkili, hafif ve gömülebilir bir betik dildir.
Betik yani Script dilinden biraz bahsedecek olursak; kodları yorumlama aşamasını kısaltmak için kullanılan programlama dilleridir. Bu programlama dilleri derleme ihtiyacı duymadan doğrudan kaynak kodundan çalışır. Bu durum da programcıların işini kolaylaştırmaktadır. Konumuza dönelim.
Brezilya'nın Rio de Janerio şehrinde bulunan Pontifical Catholic Üniversitesi'nde, Tecgraf adlı bir grup tarafından geliştirilen bu dil; yapısal programlama, nesne yönelimli programlama, işlevsel programlama, veritabanı programlama ve veri açıklama yapılarını destekler. C dilinde gerçekleştirilen çalışmaları kolaylaştırmak amacıyla geliştirilen bu dil, gün geçtikçe daha da gelişmiş ve bir programlama dili haline gelmiştir.
Kelime anlamı "Ay" olan Lua, Portekizce bir kelimedir.
Neden Lua dilini seçmeliyim diye bir soru soracak olursanız;
- <li data-xf-list-type="ul">Gayet hızlı bir yapıya sahip olması, <li data-xf-list-type="ul">Basit ve kolay öğrenilebilir olması, <li data-xf-list-type="ul">Oldukça güçlü olması, <li data-xf-list-type="ul">Gömülebilir olması, <li data-xf-list-type="ul">Açık kaynaklı ve devamlı geliştiriliyor olması
Nasıl Kurulur?
Windows işletim sistemleri için tarif edecek olursam; bu bağlantıya girerek kendi sisteminize uygun sürümü bilgisayarınıza indirebilirsiniz. Exe dosyasını açtığınız zaman geriye kalan işlemler gayet basittir, normal bir program kuruyormuş gibi adımları devam ettirebilirsiniz. Bu paket dahilinde birçok kütüphane ve SciTE uygulaması da yüklenecektir. SciTE; Lua'nınsözdizimine uygun reklendirmeye sahip olan bir kod editörüdür. Bu editör vasıtasıyla Lua kodlarınızı çalıştırabilirsiniz.
Linux işletim sistemleri için ise; izleyeceğimiz adımlar biraz daha farklı olacaktır. Lua'yı kaynak kodlarından terminal aracılığıyla kuracağız. İlk adımınız bu bağlantıya girerek orada bulunan tar.gz uzantılı Lua kaynak kodlarını indirmek olmalıdır. İndirme işlemi tamamlandıktan sonra terminali açın ve aşağıya bıraktığım komutları sırasıyla girin.
Kod:
tar zxf lua-5.3.3.tar.gzcd lua-5.3.3 make linux test
Biraz sonra kurulmuş olacaktır. Herhangi bir hata vermiyorsa kod yazmaya başlayabilirsiniz demektir.
Mac OS işletim sistemleri için de anlatalım; yine Linux için yaptığımız gibi kaynak kodlarından Lua kurulumu yapacağız. Bunun için
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
girip tar.gz uzantılı dosyayı indirmeniz gerekiyor. İndirme işlemi tamamlandıktan sonra terminali açın ve sırasıyla aşağıya bıraktığım kodları girin;
Kod:
tar zxf lua-5.3.3.tar.gzcd lua-5.3.3 make linux test
Dosyaları kurması biraz zaman alabilir. İşlem tamamlandıktan sonra kod yazmaya hazır hale gelmişsiniz demektir.
Kurulum işlemlerini tamamladığımıza göre artık ilk kodumuzu yazabiliriz. Her programlama dilinde bir klasik olan yazıyı ekrana yazdıralım.
Kodu yazmak için SciTE uygulamasını veya lua.exe dosyasını açabilirsiniz. Bunlar dışında Lua'nın resmi sitesinde bulunan
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
sayfasını kullanabilirsiniz. Daha sonra hemen aşağıya bıraktığım kod ile ekrana yazı yazdırabilirsiniz.
Kod:
print ("Hello World")
Lua - Değişkenler
Merhabalar,
Bahsettiğimiz gibi Lua dili anlatımlarına devam ediyoruz. Geçtiğimiz derste Lua betik diline bir giriş yapıp Lua nedir, nasıl kurulur? adlı konuyu işlemiştik ve ilk kodumuz olan print ile ekrana yazı yazdırmıştık. Şimdi ise ilk kod odaklı dersimiz olan değişkenleri anlatacağım. Dilerim keyifli vakit geçirirsiniz.
Değişken tanımından biraz bahsedecek olursak; hemen hemen her programlama dilinde bulunan, her defasında içerisinde farklı değerler bulundurabilen bir yapıdır. Bu yapıların genel özelliği; program yazarken bazı verilerin daha sonra kullanılmak üzere geçici bir hafızada saklanmasıdır. Şimdi ise Lua dilinde bu yapının içerisinde neler barındırıldığını görelim.
Lua dilinde iki tip değişken türü göstereceğiz sizlere. Bunlar;
- <li data-xf-list-type="ul">Global Değişkenler <li data-xf-list-type="ul">Yerel Değişkenler
Bir değişken ismi; harf, rakam ve alt çizgi karakterinden oluşabilir. Dikkat etmeniz gereken husus; rakam kullanacağınız zaman başına bir harf veya alt çizgi karakterini getirmelisiniz. Ayrıca değişken belirtilirken; -, +, *, / gibi semboller kullanılamaz. Zaten belirttiğim semboller Lua operatörlerinde kullanılır. Bunu operatörler konusunda detaylıca işleyeceğiz. Bir konu daha; Lua dilinin büyük, küçük harflere karşı duyarlılığı vardır. Yani değişkeni nasıl tanıtırsanız öyle çağırmalısınız. A değişkeni diye belirtip a olarak çağıramazsınız, hata alırsınız. Bahsettiğim hususları ihlal ettiğiniz halde editör veya komut yöneticisi size hata ile geri dönüt verecektir. Şimdi ise değişken türlerine geçelim.
Global Değişkenler
Global değişkenler; Lua dilinin ilk ve en çok tercih edilen, kullanılan değişken türüdür. Yazacağınız programın her alanında bu küresel değişkenlere ihtiyaç duyabilirsiniz. Kullanım yapısı gayet basittir ve diğer programlama dillerine benzer. C dili ile aynıdır hatta, lakin C'de değişken tanımını noktalı virgül ile kapatırsınız. Kapatmadığınız takdirde hata verir. Lua'daise noktalı virgül kullanmanıza gerek yoktur. İstediğiniz takdirde kullanabilirsiniz ama bir zararı yok, hata vermez. Birkaç örnek verelim şimdi sizlere.
Basit bir küresel değişken tanıtıp, ekrana yazdıralım.
Kod:
a = 5 print(a)
Şimdi bu kod ile ne yaptık, üstünden geçelim. "a" adında bir değişken tanıtıp, değerine 5 verdik. Daha sonra tanıttığımız değişkeni print fonksiyonu ile ekrana yazdırdık. Bu kadar basit. Yalnız burada dikkat etmeniz nokta; değişkeni print fonksiyonu ile ekrana yazdırırken parantez içerisinde değişken adını belirtmenizdir. Eğer aksini yapıp değişkene tanıttığımız değeri yani 5 sayısını girseydik, yine ekrana sorunsuz bir şekilde yazdırırdı. Lakin değişken tanıtmamızın bir anlamı kalmazdı, değişken etkisiz kalırdı. Peki ya kodunuzu şu şekilde yazsaydınız;
Kod:
print(a)
Bu kod karşılığında ekranda nil değerini görürsünüz. Yani sıfır değeri alırsınız. Bütün tanıtılmamış veya boş değişkenlerin sıfır değeri vardır. O yüzden değişkenleri programımızda kullanmak istiyorsak, ilk önce tanıtmalıyız. Küresel yani global değişkenler ile ilgili bir örnek daha verip, yerel değişkenlere geçelim.
Aynı satır içerisinde virgül aracılığıyla birden fazla değişken tanıtabiliriz;
Kod:
a, b = 5, 10 print(a) print(b)
Yerel Değişkenler
Yerel değişkenler; küresel değişkenlere göre daha zor ve karışık bir yapısı olan değişken türüdür. Bu değişken global değişkenlere kıyasla daha az, nadir kullanılır. En önemli özelliği ise; yerel değişkenler oluşturmak için bir anahtar kelime kullanmak zorunda olmanızdır. Bu anahtar kelime local dir. Değişkeni tanıtmadan önce bu kelimeyi belirtmelisiniz ki, diğer değişkenlerden ayırt edici olsun. Bir örnekle bu olayı canlı görmenizi sağlayalım.
Kod:
local a = 5
Yerel değişkenleri yukarıda gördüğünüz gibi tanıtmalısınız. Bu kodu şu şekilde ekrana yazdırabilirsiniz;
Kod:
local a = 5print(a)
Evet, yukarıda gördüğünüz gibi. Bir konuda dikkat edin; dalgınlığınıza gelmesin, print fonksiyonunun içerisine local yazmayın. Local bir anahtar kelime, bir belirteçtir. Bu değişkeninyerel bir değişken olduğunu gösterir bize. Yani değişken adı değildir, değişken adı "a" dır. Örnekte görüldüğü gibi yazmalısınız.
Bilmeniz gereken bir diğer ipucu ise; yerel değişken atarken local anahtar sözcüğünü bir defa belirtmenizin yeterli olacağıdır. Yani siz birden fazla yerel değişken atamak istiyorsanız bir defa local anahtar kelimesini kullanıp, değişkenleri atamalısınız. Hemen bir örnek verip, kafamızda pekiştirelim.
Kod:
local a = 5 a = 10
Yukarıda gördüğünüz gibi yapabilirsiniz. Bir ipucu daha verip, yavaşça sonlandıralım.
Yerel değişkenleri kullanmanın bir yolu daha vardır; bu da ilk önce değişkenleri tanıtıp, daha sonra ayrı bir satırda onlara değer vermektir. Hemen gösterelim.
Kod:
local a,b a = 5 b = 10
Evet, yukarıda gördüğünüz gibi de belirtebiliriz. Son olarak bu kodu ekrana yazdıralım ve yerel değişkenler konusunu kapatalım.
Kod:
local a,ba = 5 b = 10 print(a, b)
Bu kodu da verdiğimize göre artık dersimizi sonlandırabiliriz. Ek olarak bir şey belirteyim; bu kodları çalıştırmak için sisteminizde Lua veya herhangi bir Lua editörünün kurulu olmasına ihtiyacınız yok.
Ziyaretçiler için gizlenmiş link,görmek için üye olmalısınız!
Giriş yap veya üye ol.
girerek rahatça test edip, denemeler yapabilirsiniz. Lua'nın resmi sitesidir gönlünüz rahat olsun. Keyifli kodlamalar.
Lua - Veri Türleri
Merhabalar,
Kaldığımız yerden Lua derslerine devam ediyoruz. Geçtiğimiz derste sizlere Lua dilinde bulunan değişken türlerinden bahsetmiştik. Bugün işleyeceğimizi konu ise Lua'da Veri Türleri olacak. Pür dikkat okuyup, anlamanız gereken bir konudur. Çünkü bu konu Lua dilinde her zaman karşınıza çıkacaktır. İşiniz ne olursa olsun veri türlerine ihtiyaç duyacaksınız.
Öncelik olarak; veri türleri tanımından biraz bahsedeyim size. Bir program yazdığımızı varsayalım. Bu programı yazarken muhtemelen değişkenlere ihtiyaç duyarız. Budeğişkenlerin her biri aynı olacak diye bir kaide yok. Farklı değişken tipleri kullanmanız mümkündür. Bu değişkenler; bir tam sayı, ondalıklı sayı veya karakterlerden oluşabilir. İşte bu noktada veri türleri dediğimiz kavram ortaya çıkıyor. Bu sayede girilen verileri ayırt edebiliyoruz ve bu bize program yazmada kolaylık sağlıyor. Tek bir veri tipi ile uğraşmaktansa farklı yapılarda birden çok veri tipi işimize daha çok yarayabilir. Bizde bu yapının Lua dilindeki karşılığını göreceğiz.
Lua betik dilinde 8 temel veri türü vardır. Bunlarını şu şekilde sıralayalım;
- <li data-xf-list-type="ul">nil <li data-xf-list-type="ul">boolean <li data-xf-list-type="ul">number <li data-xf-list-type="ul">string <li data-xf-list-type="ul">function <li data-xf-list-type="ul">userdata <li data-xf-list-type="ul">thread <li data-xf-list-type="ul">table
Yukarıda sıraladığımız bu veri tipleri Lua dilinin temel unsurlarındandır. Sadece Lua betik dili için değil, veri türleri neredeyse her dilde karşınıza çıkar ve büyük önem arz eder. İşte bu yüzden takip ederken, dikkatinizi herhangi bir şeyin dağıtmasına izin vermeyin. Kolaydır, lakin önemlidir.
Şimdi sizlere bu veri tiplerini teker teker açıklayıp, örneklendireyim.
NİL
Bu veri türünü kısa ve öz bir şekilde açıklayacak olursam; tüm tanıtılmamış ve boş değişkenler sıfır değeri alır. Nil bu değere eşittir. Yani sıfırdır. Bir program için anlamsızdır. Bir örnek verip, daha iyi kavramanızı sağlayalım.
Kod:
print(a)
Şimdi, bu kod ile ne yapmaya çalıştık; "a" adında bir değişken olduğunu varsaydık ve print fonksiyonu ile onun değerini ekrana yazdırmaya çalıştık. Lakin bu tanımsız bir koddur. Herhangi bir değişken tanımlanmamış, gördüğünüz gibi. Bu yüzden kod editörünüz size nil değeri döndürecektir. Belirtmediğiniz bir değişkeni ekrana yazdıramazsınız. Bir örnek daha verip sıradaki veri türüne geçelim.
Kod:
local x print(x)
Bu kodumuzda bir yerel değişken tanıttık ama gördüğünüz gibi ona bir değer vermedik. Bu yüzden ekrana yazdırmaya kalktığımızda bize nil değerini göstererek geri dönüt verecektir.
Boolean
Bu veri türü yalnızca iki değer alır. Bunlar; doğru ve yanlıştır. Sadece Lua için değil, tüm programlama dillerinde büyük önem taşıyan bir veri türüdür. Boolean; program akışının yönlendirilmesinde ve döngü yapılarında sıkça kullanılır. Örnekler ile pekiştirelim.
Kod:
a = true[PHP] print(a)
Yukarıdaki kod ile ne yapmaya çalıştık; "a" adında bir değişken tanıtıp ona boolean bir değer olan true değerini verdik. Daha sonra print fonksiyonu ile ekrana yazdırdık. Bir örnek daha verelim; bu sefer boolean veri tipinin diğer değerini gösterelim.
Kod:
a = false
Bu kodda ise; yine "a" adında bir değişken tanıtıp, bu kez false değeri verdik. Daha sonra bu değeri print fonksiyonu ile ekrana yazdırdık. Şimdi ise bir diğer veri türüne geçelim.
Number
Bu veri tipi en çok kullanacağınız türlerden biridir. Bu veri tipinde ondalık ve tam sayı gibi gerçek sayıları belirtirsiniz. Hemen bir, iki örnek verelim.
Kod:
a = 1 print(a)
Bu kod vasıtasıyla "a" adında bir değişken oluşturduk ve ona tam sayı olan 1 değerini verdik. Daha sonra print fonksiyonu ile ekrana yazdırdık. Bir örnekte ondalık sayılar için verelim.
Kod:
a = 3.33[/COLOR][PHP] print(a)
Yukarıda gördüğünüz kod aracılığıyla şunu yapmak istedik; "a" adında bir değişken oluşturup ona bir ondalık sayı olan 3.33 değerini verdik. Daha sonra print fonksiyonunu kullanarak ekrana yazdırdık.
String
Bu veri tipi belkide en çok kullanacağınız tür olacaktır. String veri tipleri, karakter dizisini temsil eder. Değişkene string bir değer atamak istiyorsak öncelikle şu hususlara dikkat etmeliyiz;
- <li data-xf-list-type="ul">Dizeler çift tırnak içine alınmalı, <li data-xf-list-type="ul">Dizeler tek tırnak içine alınmalı, <li data-xf-list-type="ul">Dizeler çift köşeli ayraç içerisine alınmalı, <li data-xf-list-type="ul">Eğer dizelerin içerisinde yani kelimeler üstünde tek tırnak veya çift tırnak kullanılacaksa, şu yöntem izlenmelidir; değerler atanırken dizeler tek tırnak içine alındıysa içerideçift tırnak, tam tersi ise yani değerler atanırken dizeler çift tırnak içine alındıysa tek tırnak kullanılmalıdır.
Şimdi ise yukarıda belirttiğim unsurlar için örnekler verelim. Bu sayede kafanızda daha iyi pekişecektir. Birinci madde için bir örnek;
Kod:
x = "Hello World"
İkinci madde için bir örnek;
Kod:
x = "Hello World"
Üçüncü madde için bir örnek;
Kod:
x = [[Hello World]]
Son olarak dördüncü madde için bir örnek;
Kod:
x ="Turkmmo'a hoşgeldiniz." x ='Benim adım " @[USER=1]admin[/USER]; "
Function
Bu veri tipi yani fonksiyonlar, Lua dilinde birinci sınıf değerlerdir. Örneğin print fonksiyonu hazır bir yapıdır. Lakin bu veri türünde fonksiyonu kendimiz oluşturabiliriz.
