Alıntı (zafer):
> Alıntı (acehreli:1333635009):
> Bir de 'sayı.nKare' kullanımını farkettim. Öyle parantezsiz olarak çağırabilmek için işlevin @property olarak işaretlenmiş olması şart.
D dili geliştiricileri şu @property tanımlamasınada bir güzellik getirseler harika olacak. Hatta C# dilindeki gibi property özelliğini tek bir metot içinde tanımlasak bence çok daha güzel olacak.
Bu bereketli JSON başlığında konu UCFS'ye mi kayıyor ne...:)
Bu arada tartışma ile ilgili kod sanırım aşağıdaki olsa gerek, bilginize...
import std.stdio;
struct Hesaplamalar
{
int n;
/* Eğer static bir eleman varsa, kurucu this() olmalı ->
this (int sayı)
{
this.n = sayı;
}//*/
int nKare()
{
return n * n;
}
}
void main()
{
auto sayı = Hesaplamalar(3);
writefln(" - Kurulurken sayı.n'nin değeri = %d <-n²+1", sayı.n);
sayı.n = sayı.nKare + 1;
writefln(" - Karesi alınıp +1 ekli değeri = %d <-n²", sayı.n);
writefln(" - Tekrar karesi hesaplatılırsa = %d n->", sayı.nKare);
auto başkasıMı = Hesaplamalar();
writefln("\nAcaba aynı mı; yoksa değeri = %d", başkasıMı.n);
}
Şimdi aklıma geldi de bu koddaki işlevi aşağıdaki şekilde geliştirebilirdik. Hatta güzel bir espri geleneğini başlatayım. Tabana kuvvet kodlar yazmak gerek...:)
Şaka bir yana bunlar yine yine çok basitler. Biz Türklerin treni yakalayabilmesi için çok daha mükemmel kodlar yazmamız gerek. Makyajsız, sade ve akıllıca...
int üssü (int tabanı, int kuvveti = 0) {
// Eğer kuvveti kullanılmazsa tabanın karesini al
return kuvveti ? tabanı^^kuvveti
: tabanı^^2;
}
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]