Aynı durumda D'da bir seçenek de (Times.max + 1) değerini kullanmaktır.
Bir de enum'ların bütün değerleri üzerinde gezinmeye yarayan std.traits.EnumMembers var:
import std.traits;
foreach(zaman; EnumMembers!Times) {
writeln(zaman);
}
Ancak, bir derleme zamanı olanağı olduğu için yukarıdaki foreach de her değer için koda açıkça yazılır. Yani döngü yerine tekrarlı satırlar olur. Şunun eşdeğeri:
{ writeln(Times.Imsak); }
{ writeln(Times.Fajr); }
{ writeln(Times.Sunrise); }
// vs.
Ali
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]