Merhaba,
UFCS kullanımına kendimi o kadar kaptırmışım ki her şeyi UFCS gerekliliğinde kullanmak istiyorum. Bazı zaman mantıklı açıklaması (örn. writef'de) oluyor ama şu aşağıdakine mantıklı bir açıklama getiremedim. Ne demek foo, bar tanımsız...:)
**Derleme Hatası: **
'delegate.d(15): Error: undefined identifier 'bar'
delegate.d(21): Error: undefined identifier 'foo''
import std.stdio;
alias real delegate(real) TEMSİLCİ;
void main()
{
auto aralık = [ 1.5, 7.5 ];
TEMSİLCİ hesap = a => a*a;
auto foo(TEMSİLCİ bar)
{
real[] sonuç;
foreach(n; aralık[0]..aralık[1])
{
//sonuç ~= bar(n);/*
sonuç ~= n.bar();//* (v2) */
}
return sonuç;
}
//foo(hesap).writeln();/*
hesap.foo().writeln();//* (v2) */
}
Çıktısı:
'[2.25, 6.25, 12.25, 20.25, 30.25, 42.25]
'
Dip Not: Çalışan sürümünü açmak ve v2'yi kapamak için '//' işaretlerini kaldırmanız yeterli...
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]