##1. Bölüm: Türkçe kod yazma.
##2. Bölüm: TAR-Python ayarları.
##3. Bölüm: Kendi .tr uzantımız.
##4. Bölüm: Dil üretmek = KARAKTER yorumlayıcısı yazmak.
##5. Bölüm: Donanım-Yazılım kesişimi = sürücüler.
##6. Bölüm: Kendi YAZ'ımız.
##7. Bölüm: Tüm harfleri bir değişkene atama.
##8. Bölüm: Kendi komutumuz.
##9. Bölüm: YAZ'ma şekilleri + Teknoloji Oteli
Son yazıda sadece kod yazmak değil farklı kararlar da almak gerekiyordu. İster istemez diğer dillerdeki YAZ'ma şekillerine yeniden baktım.
Mesela, Basic'te Merhaba Dünya şöyle yazılıyormuş:
PRINT "Hello, world!"
Ataların lisanında ;) ise şöyle
#include
int main(void){
puts("Hello, world!");
}
Daha genç versiyonu C++ şöyle
#include
int main(){
std::cout << "Hello, world!
";
return 0;}
Görüleceği üzere aynı kaynaktan beslenen iki dil için bile yazım farkları var. Üstelik sadece int main gibi hazırlıklık kısımları değil, direk YAZ işlemini yapan kısımlarda da farklılık var.
puts ya da std::cout <<
Web ile birlikte zirve yapan JavaScript'te ise document.write('Hello, world!'); şeklinde.
Her birinde faklı bir şekil söz konusu. Son örnek olarak Logo'da tırnak yerine köşeli parantez kullanılmış: print [Hello, world!]
Buradaki TIRNAK yerine Köşeli parantez kullanımı; önceki yazıda @kagantrky 'in da katkılarıyla incelediğimiz durumlar için cesaret verdi. Bir dilde ekrana çıktı almak için puts kullanmak gerektiğini öğrenmek zorundayken bir başka dilde aynı işlem için [ köşeli parantez gerektiğini bilmek/öğrenmek zorundayız.
E madem, yeni bir dil için bazı yeni şeyleri öğrenmek zorunlu o halde TAR için de yeni şeyler pek ala söz konusu olabilir ;)
İsterseniz önce normal yoldan bakalım.
Yani yaz "Merhaba Dünya"
şeklinde bir yazım için TIRNAKLARI ve ebetteki arasında METİNİ tespit etmemiz lazım.
A' a! Yeni bir sorunumuz var.
İlk tırnak da ikinci tırnak da aynı şekilde: "
O halde
- TIRNAK ile İLK karşılaştığımız anda bunun bilgisini bir yerde tutmamız lazım
- Ve hemen içindeki harfleri bir CÜMLE olarak birleştirmemiz lazım
- CÜMLEYE eklemeye devam etmeli
- Ta ki İKİNCİ TIRNAK karşısına çıkana kadar
- Her tırnak ile karşılaşmada bunun HANGİ TIRNAK olduğu bilgisini güncellememiz lazım
TIRNAK hangi tırnak bilgisini tutmak için tırnak adında
ve tırnakların arasındaki metini oluşturup saklamak için cumle adın da değişkenler atayalım.
son/kapanış bir tırnağı görmüş ve şimdi karşında çıkanı ilk/başlama tırnağı kabul etmesi için tırnak="son" yapalım.
Daha sakin bir görünüm için bazı printleri etkisiz hale getirelim.
şimdi
y
ya
yaz
yaz "
yaz "M
akışı içinden YAZ ve TIRNAK için oltamızı atalım ;)
dikkat edilmesi ve anlaşılması gereken kritik noktalardan birisi de
40 ve 46. satırlarda gördüğümüz komut="" ataması, komut sürekli elimizde tuttuğumuz ve içine baktığımız bir değişken olduğu için HER KOMUT ya da işlemeden üzerinden geçtiğimiz HER KARAKTER sonrası mevcut içeriğini yokluğa eşitliyoruz. //Bi felsefik söz daha :)
Posted from my blog with SteemPress :
https://murattatar.xyz/konusur-gibi-turkce-kod-10-tirnak/
Why not in English
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Because, I want to coding with our native language.
For exp, I want write this code:
Yaz "Merhaba"
not this:
Response.write("Merhaba")
YAZ mean = Print in Turkish
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
boşluk birden fazlaysa algılayacak mı?
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Her bir karakteri sırayla okuduğu için
Boşluk denk geldiğinde yok edecek.
Dolaylısıyla boşluk sayısı önemli olmayacak ;)
Sonraki aşamada alt satıra geçme durumunda
satır sonu \n
için de benzer işlem gerekecek gibi.Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit