Bunu derslerde ilerleyince anlayacaksınız. Ama ben yinede sorunuzu yanıtlıyorum:
import std.stdio;
import std.cstream;
void main()
{
write("Gezelim mi?");
char[] gez; /* int bildiğiniz gibi sayı değişkenini belirtmek için kullanılıyordu.
charda utf-8 karakteri kullanılacağını belirtiyor. */
din.readf(&gez);
if (gez=="evet".dup) //.dup koymamızın nedeni ilerideki derslerde öğretiliyor.
{
writeln("Gir koluma");
}
}
Kısaca ne yaptığımızı anlatayım :
Bildiğiniz gibi siz 'int' türünde adında bir değişken belirttiniz ve int sayılar için kullanılıyor. Ama biz karakter kullanmak istiyoruz. O zaman sayı değil karakter türü olduğunu belirtmeliyiz. Bunuda 'int' yerine 'char' yazarak sağlıyoruz.
Peki [] ne işe yarıyor ?
char ile tek bir karakter tanımlayabiliyoruz.(örnek 'a', yalnız tek tırnak ile tanımladığıma dikkat edin.) Ama biz birden fazla karakter tanımlamak istiyoruz. Örneğin "evet" (çift tırnağa dikkat edin.) karakter topluluğunu tanımlamak istiyoruz. Bu [] belirtimide birden fazla char(karakter) belirtileceğini yazıyor.
Peki bu .dup ne ?
Bunu şimdi anlamayabilirsiniz. Ben yine de size kısaca açıklayayım. "örnek" karakter topluluğu(dizgi) D için sabittir. Ve D'de tür güvenliği çok önemli olduğu için sabit değer değişkene(char[]) atanamaz. Bizde .dup belirtimi ile "örnek" dizgisinin kopyasını alıp bu dizgiyi değişkene çeviriyoruz. Ve daha sonra da gez değişkene bu değeri veriyoruz.
Bunları dersleri okumadan anlamayabilirsiniz. Bunun nedeni dersleri okumamanız yada benim anlatma becerim olmamasıdır. Ama derslerde ilerlerseniz eminim dediklerimi siz kendi başınıza anlayacaksınızdır.
(Buradan Ali Bey'e not : . Dizgiler dersini öne çekerseniz daha iyi olur. Çünkü insan sadece D'de sayıları kullanılcağını sanıyor. Eğer dizgiler konusunu öne çekmeyeceksenizde okuyacaklara karakter derslerin ileride olacağını belirtin ki insanlar sadece sayılar ile işlem yapılmadığını bilebilsinler. Birde derleme hatası yazan yerlerde derleyicinin verdiği hatayıda gösterinki İlerde yaptığım hataların anlamlarını çıkarabilelim ( Yada çıkarayım :-) ) )
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]