| |
|
Salih Dinçer 
| Çağrışımsal diziler ile birlikte foreach() kullanımının bu şekilde davrandığını bilmiyordum! Derslerde yazmış olsa da benim dikkatsizliğimden gözümden kaçmış. Zannediyordum ki anahtar, 0'dan başlar ve eleman adetince artar. Meğer öyle değilmiş:
auto notlar = [ 11: "Ali", 22: "Salih", 33: "Talha" ];
foreach (anahtar, eleman; notlar) {
eleman.writeln(": ", anahtar);
}
Alıntı (Çıktısı):
> Talha: 33
Ali: 11
Salih: 22
Alıntı (acehreli:1360909955):
> Konum belirteçleri de kullanılabiliyormuş:
> import std.stdio;
>
> void main()
> {
> auto data = [ 1: "bir", 2: "iki", 3: "üç" ];
> writefln("%-('%2$s' değerini elde etmek için '%1$s' kullanınız%|\n%)",
> data);
> }
> ```
> Son eleman için de "kullanınız" yazdırılsın diye "%|" kullandım. Çıktısı:
> ''1' değerini elde etmek için 'bir' kullanınız
> '2' değerini elde etmek için 'iki' kullanınız
> '3' değerini elde etmek için 'üç' kullanınız
> '
>
Hocamın cevabının bu 2. bölümüne dikkat etmemişim. Şimdi tekrar baktım da çok güzel iki özellikten bahsetmiş. Bunlar altın değerinde o yüzden öne çıkarmak istedim.
Tekrar teşekkürler...
--
[ Bu gönderi, <http://ddili.org/forum>'dan dönüştürülmüştür. ]
|