Forum: Ders Arası RSS
mixin örnekleri
acehreli (Moderatör) #1
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: mixin örnekleri
Ben bunları yeni anladım ve paylaşmak istedim. Aslında C'nin makrolarına benziyorlar:

Dizgi katmaları

Derleme sırasında oluşturulan dizgileri, sanki kod satırıymışlar gibi kodun içine katıyorlar:

import std.stdio;

void main()
{
    mixin("int i = 42;");
    writeln(i);
}

Bu basit örnekte gücü anlaşılmıyor. Zamanında körlemesine çevirmiş olduğum şu makalede biraz daha bilgi var:

  http://ddili.org/makale/katma.html

Şablon katmaları

Şablonlar bir anlamda kod üretme düzenekleridirler. D, üretilen kodu mixin ifadesinin yazıldığı satıra açma olanağı sunuyor:

import std.stdio;
 
template foo(T)
{
    T değişken = 1.1;
}
 
void main()
{
    // Yukarıdaki şablonun [template] double hâlini buraya
    // katıyor
    mixin foo!double;
 
    // O yüzden bu satırlarda 'değişken' hata vermiyor
    writeln(değişken);
    değişken = 2.2;
    writeln(değişken);
}

Ali
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Forum: Ders Arası RSS
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-19, 19:57:08 (UTC -08:00)