- Katılım
- 19 Ocak 2016
- Konular
- 0
- Mesajlar
- 0
- Reaksiyon Skoru
- 1
- Altın Konu
- 0
- Başarım Puanı
- 0
- MmoLira
- 0
- DevLira
- 0
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
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;
- Gayet hızlı bir yapıya sahip olması,
- Basit ve kolay öğrenilebilir olması,
- Oldukça güçlü olması,
- Gömülebilir olması,
- 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.
PHP:
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
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
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;
PHP:
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
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
sayfasını kullanabilirsiniz. Daha sonra hemen aşağıya bıraktığım kod ile ekrana yazı yazdırabilirsiniz.
PHP:
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;
- Global Değişkenler
- 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.
PHP:
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;
PHP:
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;
PHP:
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.
PHP:
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;
PHP:
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.
PHP:
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.
PHP:
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.
PHP:
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.
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
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;
- nil
- boolean
- number
- string
- function
- userdata
- thread
- 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.
PHP:
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.
PHP:
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.
PHP:
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.
PHP:
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.
PHP:
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.
PHP:
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;
- Dizeler çift tırnak içine alınmalı,
- Dizeler tek tırnak içine alınmalı,
- Dizeler çift köşeli ayraç içerisine alınmalı,
- 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;
PHP:
x = "Hello World"
İkinci madde için bir örnek;
PHP:
x = "Hello World"
Üçüncü madde için bir örnek;
PHP:
x = [[Hello World]]
Son olarak dördüncü madde için bir örnek;
PHP:
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. Fonksiyon veri tipinin içerisinde değişkenleri barındırabilen, herhangi bir fonksiyonda çağırılıp kullanılabilen, içerisinde işlediği sonucu döndüren bir yapısı vardır. Bu nedenle sadece Luabetik dilinde değil, birçok programlama dilinde yapı taşı konumundadır. Bu konu hakkında şimdilik bu kadar bilgi edinmeniz kafi, ayrıca bir fonksiyonlar dersi hazırlanacaktır.
Userdata - Thread
Userdata, keyfi bir şekilde C verilerinde Lua değişkenlerinin saklanmasına izin verir. Bu uygulama C dilinde yazılmış bir kütüphane tarafından oluşturulan yeni türleri temsil etmek için kullanılır.
Table
Bu veri tipi; diziler gibi indis numaralarıyla sıralanır. Değişkene verdiğiniz değerleri bir sıraya sokmak için kullanılabilir. Ya da değişkene sıralı değerler verirsiniz, ekrana yazdırdığınız zaman indis numaralarına göre o değerleri sıralar. Table veri türü ile değer atarken; onları süslü parantez içerisine almalı, her bir maddeyi tek tırnak veya çift tırnak içine alarak virgül aracılığıyla ayırmalısınız. Bir örnek ile pekiştirelim hemen.
PHP:
x = {'lua', 'python', 'c'}
Evet, şimdi yukarıda yazdığımız kodu inceleyelim. Öncelikle "x" adında bir değişken atadık ve içerisine sırasıyla 'lua', 'python' ve 'c' değerlerini verdik. Daha sonra print fonksiyonu ile değerimizi ekrana yazdırdık. Bunu nasıl yaptık; ilk önce her zaman ki gibi değeri içerisinde bulunduran değişken adını, yani "x" karakterini yazdık. Daha sonra köşeli ayraçlarvasıtasıyla indis numarası belirterek istediğimiz değeri çağırdık. Burada gördüğünüz gibi 1 numaralı indisi çağırdık, dolayısıyla ekrana 'lua' yazacaktır. Python değerini çağırmak isteseydik eğer köşeli parantezler içerisine 2 numaralı indisi yazacaktık. C değerini yazdıracak olsaydık da 3 numaralı indisi çağıracaktık. Sayı saymasını biliyorsanız yeterince basit aslında.
Bir diğer şekliyle bu veri türünün nasıl kullanıldığını görelim.
PHP:
x = {isim="Turkmmo", yas=38}
print(x.yas)
Yukarıdaki kod ile ne yapmaya çalıştık; ilk önce "x" adında bir değişken tanıttık, onun içerisine isim ve yas adında değişkenler oluşturup, onlara "Turkmmo" ve "38" değerlerini verdik. Burada değişken içerisinde değişken kullanmış olduk. Daha sonra print fonksiyonu ile ekrana yazdırdık, lakin yöntem biraz daha farklı bu sefer. İlk önce ilk yöntem gibi değişkenadını belirtiyoruz yani "x" yazıyoruz. Daha sonra "x" değişkeni içerisinde belirttiğimiz değişkenlerin hangisini yazdırmak istiyorsak onu yazmalıyız. Lakin her iki değişkeni bağlarken "." ile bağlamanız gerekiyor, aksi halde hata alırsınız. Diyelim ki "38" değerini ekrana yazdırmak istiyoruz. Bunun için yukarıdaki örnekte belirtilen gibi yazmalıyız.
Bir püf nokta daha verelim sizlere. Bir değişkene yüklediğiniz değerlerin sayısını öğrenmek için; değerleri ekrana yazdırırken değişken adından önce diyez işareti belirtin. Aynı aşağıda bulunan örnekteki gibi;
PHP:
x = {'Lua','Python','C'}
print(#x)
Bu kodu yazdığınızda ekrana 3 değeri çıkacaktır. Listeye bir yenisini eklerseniz, o değer de bir artar. Bu kadar basit bir olay.
Lua - Operatörler
Merhabalar,
Bir diğer Lua dersi ile karşınızdayız. Geçtiğimiz ders Lua betik dilinde veri türlerini görmüştük. Serimizin dördüncü dersinde ise sizlere Lua Operatörlerini göstereceğiz. Basit görünen bir konudur ama mühimdir. O yüzden her zaman istediğim gibi pür dikkat takip edip, okumalısınız.
Şimdi, işe operatörler kelimesini tanımlayarak başlayalım. Operatörler; değişkenler veya sabitler üzerinde matematiksel işlem ve karşılaştırma yapmamızı sağlayan sembolik yapılardır. Bu operatörleri kullanmak için bir veya birden fazla değişkene ihtiyacınız vardır. Operatörler birçok programlama dilinde oldukça önemli bir konudur. Programımızın yapılanmasında yüksek dereceli bir rol oynar. Bizde bu kadar önemli olan yapıların yani operatörlerin, Lua dilinde ki karşılığını göreceğiz.
Lua dilinde 4 adet operatör çeşidi vardır. Bunlar;
- Aritmetik operatörler
- İlişkisel operatörler
- Mantıksal operatörler
- Çeşitli operatörler
Evet, konunun başında da belirttiğim gibi yukarıda sıraladığımız operatörlerin önemi oldukça fazla. Teker teker örneklendirerek anlatacağım bunları sizlere. Dikkatli takip edin.
Aritmetik Operatörler
Bu operatörler; bir programda matematiksel işlemler yapmak için kullanacağınız sembollerdir. Bu operatörler sayesinde; toplama, çıkarma, çarpma, bölme, kalan bulma, üs alma, eksi değer verme gibi işlemleri programımıza yaptırabiliriz. Bu aşamada sizler için hazırladığım bir tablo üzerinden konuyu işlemeye devam edeceğiz. Bu tablo içerisindeoperatör, açıklama ve sonuç bölümleri bulunuyor. Sizlere x ve y değerleri vereceğim, tabloda bu değerlere ait sonuçları göreceksiniz. Daha sonra karşılaştırıp, kafanızda iyice pekiştirebilirsiniz. Değerleri verelim;
PHP:
x = 10
y = 20
Evet, tablomuz yukarıda gördüğünüz gibi. Burada belirtilenleri verdiğim değerler ile karşılaştırın. İlk örneği ben açıklayayım. Operatörümüz "+" gördüğünüz gibi. Açıklamasında ise bize demek istediği; birinci değer ile ikinci değeri birbirine toplaması, yani birleştirmesidir. Operand; operatörler kullanılırken verilen değerlere denir. Sonuca bakalım; x ile y toplanınca 30sonucunu vermiş. Yani 10 ile 20 sayılarının toplamı 30 ediyor. Biraz matematiğiniz varsa, mantığı gayet basit gelecektir. Şimdi ise bunların kod karşılığını verip, diğer operatöregeçelim.
PHP:
x = 10
y = 20
print(x + y)
print(x - y)
print(x * y)
print(y / x)
print(y % x)
print(x ^ 2) print(-x)
Yukarıda verdiğim kodları editörde çalıştırmaya kalktığınızda yukarıdaki tabloda gördüğünüz sonuçları alacaksınız.
İlişkisel Operatörler
Bu operatörler bir değişkenin; eşit, eşit değil, büyük, küçük, büyük eşit ve küçük eşit gibi tanımlamaları belirtmek için kullanılan sembollerdir. Bu operatörler duruma göre trueveya false değeri döndürürler. Yukarıda ki gibi bir tablodan yararlanacağız yine. Değerlerimiz ise şunlar;
PHP:
x = 10
y = 20
Tablomuz yukarıda göründüğü gibi. Bu tabloyu inceleyerek; bu konu hakkında kafanızda oluşan yapıyı oturtabilirsiniz. Yapmanız gereken tek şey verdiğim x ve y değerleri ile tabloda belirtilenleri kıyaslamak. İlk operatör örneğini ben açıklayayım; operatörümüz "==" gördüğünüz gibi. Bunun anlamı aynı tabloda yazdığı gibidir. Yani her iki operandın birbirine eşit olma durumunu kontrol eder. Şimdi x ve y değerlerimize bakıyoruz birbirlerine eşit mi diye. 10 ve 20, görünüşe göre birbirine eşit olmayan iki sayı var elimizde. Bunun sonucunda da editör bize false değeri döndürecektir. Bunların kod karşılığını verip üçüncü operatör türüne geçelim.
PHP:
x = 10
y = 20
print(y == x)
print(y ~= x)
print(y > x)
print(y < x)
print(y >= x) print(y <= x)
Evet, kodları editörünüz de deneyip, sonuçları canlı bir şekilde görebilirsiniz.
Mantıksal Operatörler
Bu operatörler; sembol belirtmek yerine kelimeler kullanarak işlem yapar. Mantıksal operatörler aracılığıyla; ve, veya, değil anlamlı yapıları kullanabilirsiniz. Duruma göre true vefalse değerleri almaktadır. Daha çok kontrol yapılarında kullanılırlar. Evet, şimdi ise tanımların bulunduğu tablomuzu görelim.
Evet, yukarıdaki tabloda gördüğünüz gibi karşılıkları vardır.
Siz x ve y değerlerini kullanarak bu yapıları kontrol edebilirsiniz. Kontrol yapılarını kullanırken daha iyi anlayacaksınız buoperatörleri. Kontrol yapılarını kullanmak için ise bir sonraki dersi beklemelisiniz. O derste mantıksal operatörleri kullanarak örnekler göstereceğim. Şimdilik bu kadarını bilmeniz kafi.
Çeşitli Operatörler
Bu operatörler aracılığıyla; herhangi iki operandı birbirine bağlayabilir, operand dizelerinin kaç karakterden oluştuğunu döndürebilirsiniz. Bu operatörleri kullanırken ".." ve "#" işaretlerinden yararlanacağız. Aşağıya bırakacağım tablo ile daha iyi kavrayacaksınız. Tabloyu kavramanız için size bazı değerler bırakacağım.
PHP:
x = "Hello"
y = "World"
Bu değerlere bakarak tabloyu dikkatli bir şekilde inceleyin.
Evet, tablomuz yukarıda gördüğünüz gibi. Verdiğim değerler ile örnekleri karşılaştırabilirsiniz. İlk örneği ben açıklayayım size. Operatörümüz ".." gördüğünüz gibi. Bunun anlamı ise tabloda yazandan farksızdır. Herhangi iki operandı birbirine bağlamak için kullanılır. Örnekte görüldüğü gibi x ve y operandlarını birleştirdik. Yani x değeri olan "Hello" ve y değeri olan "World" artık birlikte işlev görecektir. Ekrana yazdırdığınız da her iki operandın yani "Hello" ve "World" kelimelerinin bitişik bir şekilde olduğunu göreceksinizdir. Bu örneklerin kod karşılığını vereyim.
PHP:
x = "Hello"
y = "World"
print (x..y) print(#x)
Yukarıda gördüğünüz gibi bu kodları ufak oynamalar yaparak editörünüz de deneyip, sonuçları canlı bir şekilde görebilirsiniz.
Lua - Kontrol yapıları
Merhabalar,
Lua dersleri serimizin beşinci anlatımı için buradayız. Geçtiğimiz ders bildiğiniz üzere Lua betik dilinde operatör türlerini görmüştük. Bu derste ise Lua dilinde kontrol yapılarını yaniif, else ve elseif komutlarından bahsedeceğiz. Sıkça kullanacağınız bu kontrol yapılarını iyi anlamanız gerekiyor. O yüzden dikkatli bir şekilde okuyup, anlamaya çalışın.
Kontrol yapıları nelerdir, bundan biraz bahsedelim. Herhangi bir program yazarken, bazı koşullar altında gerçekleşmesini istediğimiz işlemler olabilir. İşte bu işlemleri kontrol eden yapılardır. Gayet basit bir kullanımı vardır aslında, lakin birçok programlama dilinde olduğu gibi Lua dilinde de önemli ve bilinmesi gereken bir konudur.
Bu yapının diyagramını gösterip, açıklayayım sizlere.
Evet bu kontrol yapılarının diyagramı hemen üstte gördüğünüz gibi. Bu diyagramı açıklayacak olursam; ilk önce bir koşul belirtmiş gördüğünüz gibi. Condition kelimesinin Türkçekarşılığı koşuldur. Daha sonra dallara ayırmış koşulları, eğer sağladığımız koşul doğru ise yani true değeri almışsa kodumuzun direk çalışacağını bize gösteriyor. Lakin, sağladığımız koşul yanlış ise yani false değeri almışsa bu sefer bize else kodunu yani başka bir durumu çalıştıracağını gösteriyor. Bu şekilde sonuca varabiliyoruz.
If - Then - End
If sözcüğünün kelime anlamının karşılığı eğerdir. Koşul durumu belirtir. Bu komut sayesinde; herhangi bir program yazarken eğer durum şöyle ise, şöyle bir durum gerçekleşsin gibi bir komut gönderebilirsiniz. Bu sayede o işlemi koşullandırmış olursunuz. Belirttiğiniz koşul doğru olmadığı sürece o yapı çalışmaz. Lua'da if koşulunu kullanırken dikkat etmeniz gereken iki husus bulunuyor. Bunlardan birincisi; if koşulunu belirttikten sonra then kodunu da belirtmeniz. Then o zaman anlamı taşır. Yani programa şöyle bir anlam yüklemiş oluyoruz; eğer bu koşul gerçekleşirse, o zaman şunu yap. Bu kodu belirtmediğiniz takdirde, editörünüz hata ile karşılık verecektir. İkinci bir husus ise; if ile koşul belirttikten sonra end komutuyla koşulu sonlandırmak. Kelimenin bitiş anlamı vardır. End yapısı ile if koşulunu bitirmediğiniz takdirde hata alacaksınız. Şimdi bu konuyu örnekler ile pekiştirelim.
PHP:
x = 24
y = 12
if(x ~= y) then
print("Bu iki değer birbirine eşit değil.") end
Evet, yukarıda ki kod ile ne yapmaya çalıştık; ilk önce x ve y adında iki değişken tanıttık. Bunlara 24 ve 12 değerlerini verdik. Daha sonra gördüğünüz gibi, if koşul yapısını kullanarak programa bir koşul atadık. Bunun anlamı ne peki; programa dedik ki, eğer x değişkeni y değişkeni ile eşit değil ise o zaman print fonksiyonu ile ekrana "Bu iki değer birbirine eşit değil." yazdır. Burada kullandığımız eşit değil sembolü yani bu sembol "~=" bir mantıksal operatördür. Bir önceki dersimizde detaylı bir şekilde operatörler konusunu işlemiştik. Daha sonra ise end komutuyla koşulu sonlandır dedik. Mantığı bu kadar basittir aslında. Sadece dikkat etmeniz gereken hususları atlamayın yeter.
Else
Şimdi diyelim ki if ile belirtilen koşul sağlanmıyor, yani başka bir durum ortaya çıkıyor. İşte tam burada else araya giriyor. Else kelimesinin karşılığı başka sözcüğüdür. Burada geldiği anlam ise; eğer koşul sağlanmıyorsa başka bir şey yap. If koşulu olmadan else yapısı kullanılamaz. Kullanmaya kalktığınızda hata alırsınız. Bir örnek vererek gösterelim.
PHP:
x = 24
PHP:
y = 12
if(x == y) then
print("Bu iki değer birbirine eşittir")
else
print("Bu iki değer birbirine eşit değildir.")
Elseif
Diyelim ki; birden fazla koşul belirteceğiz. İçlerinden hangi koşul sağlanırsa o gerçekleşecek. Bu düşüncemizi programa yansıtmak için Lua dilinde elseif yapılarını kullanmalıyız. Eğer öyle değilse gibi bir anlamı vardır. Yani ilk koşul gerçekleşmediği zaman veya ikinci koşul gerçekleşmediği zaman bu koşul gerçekleşir. Program doğru koşul gerçekleşene kadar tüm koşulları kontrol eder. Tabii ortada bir koşul gerçekleşmiyorsa else yapısıyla kontrol yapısını sonuçlandırabiliriz. Aynı if koşulunda olduğu gibi elseif yapılarının da sonunda thenkomutunu belirtmeliyiz. Aksi halde hata ile karşılaşacaksınız. Hemen bir örnekle pekiştirelim.
PHP:
sonuc = 74
PHP:
if(sonuc >= 90) then
print("AA aldınız.")
elseif (sonuc >= 80) then
print("BB aldınız.")
elseif (sonuc >= 70) then
print("CC aldınız.")
Evet, bu kod ile ne yapmaya çalıştık hemen anlatalım. Ondan önce bir şey belirteyim; Lua'da if veya elseif koşullarını parantez içerisine alma zorunluluğunuz yok. Parantez içerisine almadan da aynı kodları çalıştırabilirsiniz. Lakin bu şekilde daha düzenli bir hal alıyor kodlar. Şimdi gelelim kodlara. İlk önce sonuc adında bir değişken tanıtıp değerine 74 girdik. Bu bizim sınavdan aldığımız not. Daha sonra if koşulu ile şöyle söyledik programa; eğer sonuc değişkeni 90 sayısından büyük eşitse o zaman ekrana print fonksiyonu ile "AA aldınız." yazdır. Bu örnekte kullanılan büyük eşit sembolü yani bu sembol ">=" bir mantıksal operatördür. Daha sonra dedik ki, eğer birinci koşul çalışmazsa o zaman şu işlemi yap; sonucdeğişkeni 80 sayısından büyük eşitse o zaman ekrana print fonksiyonu ile "BB aldınız." yazdır. Eğer bu koşulda çalışmazsa, bir diğer koşulumuz hazırda bekliyor. O da bize diyor ki;sonuc değişkeni 70 sayısından büyük eşitse o zaman ekrana print fonksiyonu ile "CC aldınız." yazdır. Ki bu kodu yazdığınız da ekrana çıkacak yazıda budur. Notumuz yani sonucdeğişkenimiz üçüncü koşulu karşılıyor. Değerimizi 80 ile 90 arası bir sayı yapsaydık, bu sefer ikinci koşul gerçekleşecekti. Bununla kendiniz oynayıp, denemeler yapabilirsiniz
Moderatör tarafında düzenlendi:
- Katılım
- 12 Kas 2015
- Konular
- 102
- Mesajlar
- 1,373
- Reaksiyon Skoru
- 75
- Altın Konu
- 0
- TM Yaşı
- 10 Yıl 7 Ay 4 Gün
- Başarım Puanı
- 92
- MmoLira
- -4
- DevLira
- 0
Teşekkürler
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 2
- Görüntüleme
- 79
- Cevaplar
- 3
- Görüntüleme
- 113
- Cevaplar
- 2
- Görüntüleme
- 549



