Boo programlama dili
Boo dili hakkında
değiştirSözdimini Python programlama dilinden almış bir C# programlama dilidir. Derleyici yazdığınız komutları C# derleyicisi gibi okur ve derler. C# öğrenmek isterseniz kitaplıklarımızda böyle bir bölüm mevcut.
Kurmak/Yüklemek
değiştirWindows kullanıcıları buradan, linux kullanıcıları ise şu komutu uygulayarak çıkan her sonuca olumlu cevap vererek boo'yu yükleyebilirler.
sudo apt-get install boo
Derlemek
değiştirWindows kullanıyorsanız indirdiğiniz zip dosyasını yerel diske çıkarttıktan sonra, Boo'yu windows path'ine eklemeye sıra geldi. WindowsTuşu + R açıldıktan sonra cmd yazılarak cmd açılır. Boo klasörümüz, varsayalım C:\Boo20 konumunda, şimdi bunu şu komutla path yoluna ekleyelim.
set path=C:\Boo20
Linux veya MacOS kullanıyorsanız, bir işlem için yapmanız gerekmiyor.
Şimdi geldi sıra derlemeye, bu derleme bölümü bayağı bir gelişmiş. Biz şimdilik şu 2 niteliği bilsek yeterli olacaktır. İlerleyen zamanlarda bu bölüm tam anlamıyla geliştirecektir.
booc <ayarlar> <derlenecek_boo_dosyası>
- Referans -> -r
-r:<referans_adı.dll>
booc -r:matematik.dll matematik.boo
- Obje -> -o
-o:<obje_adı.exe>
booc -o:yazdir.exe yaz.boo
İlk programımız
değiştirSystem.Console.WriteLine("Merhaba vikikitap!")
programımızın ikinci versiyonu
import System
Console.WriteLine("Merhaba vikikitap!")
import deyimi C#'ta isim alanı kullanma hakkı elde etmek için kullanılan bir anahtar sözcüktür. Bu örnek böyle de olabilirdi;
import System.Console
WriteLine("Merhaba vikikitap!")
as deyimi; import edilen alana istediğiniz ismi vermeye yarayan ufak ama etkili bir parçacıktır.
import System.Console as konsol
konsol.WriteLine("fatihmert")
from deyimi;
#import isim.Alani from assembly.Adi
import Gtk from "gtk-sharp"
Application.Init()
Açıklama(Yorum) Satırı
değiştirAçıklama(Yorum) satırları derleyici tarafından okunma ve derlenmez. Programı geliştiren, geliştirici için notlar alınmasını sağlayan bir parçacıktır.
Python dilinden esinlenen yorum satırı;
import System.Console #System isim alanındaki Console sınıfını çağırdık
WriteLine("fatihmert") #WriteLine metodunu kullanarak ilk parametresinde string ifade kullandık
C/C++/C# vb dillerinden esinlenen yorum satırları;
import System.Console //System isim alanındaki Console sınıfını çağırdık
/*
WriteLine metodunu kullanarak ilk parametresinde
string
ifade kullandık
*/
WriteLine("fatihmert")
Hepsi sorunsuz geçerlidir.
Değişkenler
değiştirBoo türü | .NET Framework türü | İmza? | Byte boyutu | Olası değerler |
---|---|---|---|---|
sbyte | System.Sbyte | Evet | 1 | -128, ..., 127 (tam sayı) |
short | System.Int16 | Evet | 2 | -32768, ..., 32767 (tam sayı) |
int | System.Int32 | Evet | 4 | -2147483648, ..., 2147483647 (tam sayı) |
long | System.Int64 | Evet | 8 | -9223372036854775808, ..., 9223372036854775807 (tam sayı) |
byte | System.Byte | Hayır | 1 | 0, ..., 255 (tam sayı) |
ushort | System.Uint16 | Hayır | 2 | 0, ..., 65535 (tam sayı) |
uint | System.UInt32 | Hayır | 4 | 0, ..., 4294967295 (tam sayı) |
ulong | System.Uint64 | Hayır | 8 | 0, ..., 18446744073709551615 (tam sayı) |
single | System.Single | Evet | 4 | ±1.5 x 10-45 - ±3.4x1038 |
double | System.Double | Evet | 8 | ±5.0*10-324, ..., ±1.7*10308 (reel sayı) |
decimal | System.Decimal | Evet | 12 | ±1.5*10-28, ..., ±7.9*1028 (reel sayı) |
char | System.Char | N/A | 2 | Herhangi bir UTF-16 karakter |
bool | System.Boolean | N/A | 1 | true veya false |
string | System.String | -- | Sınırsız | Herşey |
object | System.Object | -- | Sınırsız | Herşey |
Not:Diğer dillerden aşina olduğumuz float deyimi burada single diye geçiyor, dikkat edelim..
Değişken türleri yukarıda verildiği gibidir. Boo dili Python dilinden esinlenerek değişkenleri otomatik kavrayabilme yeteneğine sahiptir. Mesela;
float = 1.7
sayi = "merhaba"
Ama ille de ben değişken türümü belirtmek istiyorum derseniz, şöyle bir şey çok daha uygun olacaktır ;)
sayi as string #sadece boo türündeki değerleri alabilir
sayi = "fatihmert"
Kontroller
değiştirOperatör | Anlamı |
---|---|
== | eşit |
!= | eşit değil |
> | büyük |
< | küçük |
>= | büyük eşit |
<= | küçük eşit |
if
değiştirIf kelimesi İngilizce’de “eğer” anlamına geliyor. Dolayısıyla, adından da anlaşılabileceği gibi, bu deyim yardımıyla Boo’da koşula bağlı bir durumu belirtebiliyoruz. Cümle yapısını anlayabilmek için bir örnek verelim:
if a == b: #eğer a ile b birbirine eşit ise...
Örnekle daha iyi anlayacağınızdan eminim;
i = 5
if i == 5:
print "i değişkeni 5 sayısına eşittir."
çıktımız ise
i değişkeni 5 sayısına eşittir.
Dikkat: i = 5 ile i == 5 aynı değildir.
- i = 5, i değişkenine 5 değerini atar. Kısacası tek bir eşittir operatörü atama işlemi yapar.
- i == 5, i ve 5 değerini karşılaştırır. 2 eşittir bir karşılaştırma işlemi yapar.
İç içe birden fazla if ifadesi kullanılabilir.
i = 5
if i > 0:
print "i değişkeni 0 dan büyüktür."
if i == 5:
print "i değişkeni 5 sayısına eşittir."
if i < 10:
print "i değişkeni 10 sayısından küçüktür."
çıktımız ise;
i değişkeni 0 dan büyüktür.
i değişkeni 5 sayısına eşittir.
i değişkeni 10 sayısından küçüktür.
elif
değiştirBazen kullanıcıdan bir veri alırken, kullanıcının verebileceği farklı cevaplara göre programımızın farklı tepkiler vermesini isteyebiliriz. Örneğimize bakalım;
i = 5
if i < 0:
print "i değişkeni 0 dan küçüktür."
elif i == 5:
print "i değişkeni 5 sayısına eşittir."
else:
print "i değişkeni 0 dan büyüktür."
çıktımız ise;
i değişkeni 0 dan büyüktür.
i değişkeni 5 sayısına eşittir.
else
değiştirelse deyimi kısaca, if ve elif deyimleriyle tanımlanan koşullu durumlar dışında kalan bütün durumları göstermek için kullanılır. Küçük bir örnek verelim.
i = 5
if i < 0:
print "i değişkeni 0 dan küçüktür."
else:
print "i değişkeni 0 dan büyüktür."
çıktımız ise;
i değişkeni 0 dan büyüktür.
unless
değiştirBir koşul true olmadığında kontrol etmek istiyorsanız unless deyimi tam aradığınız deyimdir.. Birkaç örnek verelim:
i = 5
unless i == 5:
print "i dğeişkeni 5 sayısına eşit değildir."
çıktımız ise, boş bir satırdır.
Şu şekilde de kullanabiliriz;
i = 0
print i
i = 5 if true
print i
i = 10 unless true
print i
çıktımız ise;
0
5
5
not
değiştirBu işleç “değil” anlamına gelir. Yani bu işleç cümleye olumsuz bir anlam katar. Örnekle pekiştirelim;
i = 0
if not i > 5:
print 'i değişkeni 5 sayısından büyük değildir.'
else:
print 'i değişkeni 5 sayısından büyüktür.'