Thread overview
Neyi Kaçırıyorum?
Jul 30, 2012
mert
Jul 30, 2012
mert
Jul 30, 2012
Salih Dinçer
Jul 30, 2012
mert
July 30, 2012

Şablonlar dersinde şablon özellemeleri başlığında özetlenen kodu anlama sırası ile takip ediyorum:

İmport std.stdio;

struct Nokta
{
   int x;
   int y;
}

T giriştenOku(T : Nokta)(string soru)
{
   writefln("%s (Nokta)", soru);

   auto x = giriştenOku!int("  x");
   auto y = giriştenOku!int("  y");

   return Nokta(x, y);
}

void main()
{
 /// Notlarım
 auto merkez = giriştenOku!Nokta("Merkez?");
}

Derleme hatasından dolayı Burada durmak zorunda kaldım. Sabah 05:15 sularında kaçırdığım bir şeyler var diyerek konuyu takip ederek yapı ve sınıf şablonları dersindeki örneğe kadar indim.
sonuçta, yukarıdaki kodu bir türlü çalıştıramadım.
Şablon özellemelerine kadar akıcı halde notlayarak süren diyalektik öğrenme yöntemim tam da bu noktada hata vermeye başladığından duraksadım. Muhtemelen çok basit bir detayı atlamış olduğumdan veya öğrenme eğrimin zayıfladığından dolayı bir şeyleri kaçırıyor olomalıyım, yoksa Ali hocam mutlaka altına bir not düşer; Arkadaşlar bu kod şu anki haliyle hata verir bunun nedenini de aşağıdaki konuda açıklayacağım derdi.
Sizce nereyi kaçırıyorum?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 30, 2012

Açıklamanız için teşekkür ederim hocam. Forumdaki örnek kodlarda şablonlarla ilgili çok sayıda kod parçası gözüme çarpmakta. Derlemeli dillere aşina olmayan ama bir biçimde bu öğrenim isteğini D ile gerçekleştirmeyi isteyen arkadaşlarımız için alıştırmalarda çalışır kodların da görüntülenebiliyor olmasının; izlenirlik, takip edilirlik açısından faydası olacağını düşünüyorum.
Bilgilerinize,
Yeniden ve Teşekkürle.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 30, 2012

Evet, koç parçaları metin içerisinde olunca hem iyi hem kötü olabiliyor. İyi oluyor; çünkü baştan sona okurken çok uzun bir kod bile "kolaymış bu bea" dedirtiyor. Kötü oluyor; denemek istediğimizde biraz uğraştıyor. Belki de küçük düğmeler ile hafızaya ilgili dersin kodu kopyalansa ve biz de bunu istediğimiz yere örneğin www.dlang.org adresinin ana sayfasını yapıştırsak; çalışma bilgisayarımızdan bağımsız dersleri deneyebiliriz. Öyle ya, resmi yeni sitenin ana sayfasında kodları çalıştıran bir kutu var...:)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 30, 2012

Ben kitaptan öğrenebilmeme yetecek kadarına razıyım aslında. Dünden beri o noktada takılıp kaldığımdan ilerleyemiyorum. Şu ana kadar izleyebildiğim bölümler şiir gibi akıyordu da burada takılınca haberdar etmenin iyi olabileceğini düşünmeden edemedim.
Zaman içinde öğrenmelerimize katkısı olabilecek hiçbir şeye de hayır demeyeceğimi not düşerekten :-)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 30, 2012

Açık olamadıysam kusura bakma(yın). :) Özellemenin yanında şablonun genel tanımının da bulunması gerekiyor:

T giriştenOku(T)(string soru)
{
   writef("%s (%s): ", soru, T.stringof);

   T cevap;
   readf(" %s", &cevap);

   return cevap;
}

giriştenOku!int(" x") gibi çağrılar o genel tanıma, giriştenOku!Nokta("Merkez?") gibi çağrılar da Nokta özellemesine gidecek.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

July 30, 2012

Alıntı (mert):

>

mutlaka altına bir not düşer; Arkadaşlar bu kod şu anki haliyle hata verir bunun nedenini de aşağıdaki konuda açıklayacağım derdi.

Henüz sitede görünmüyor ama şöyle bir ek yaptım:

Alıntı:

>

giriştenOku!int çağrıları şablonun genel tanımına, giriştenOku!Nokta çağrıları da şablonun özel tanımına yönlendirilecektir. Bu yüzden yukarıdaki kodları denemek istediğinizde giriştenOku şablonunun hem genel tanımını hem de Nokta özellemesini eklemiş olmanız gerekir.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]