Yeni modül, tr.harfler modülündeki yapı taşlarını kullanarak alfabe tanımlayan ve harfleri hakkındaki bilgileri otomatik olarak edinen Alfabe yapısını içeriyor.
D bayağı hoşuma gitmeye başladı! :) Bu modüldeki hemen hemen herşey derleme zamanında hallediliyor. İlk defa dizgi katmaları (string mixin) kullandım ve çok yararlı buldum.
(Doğrusunu isterseniz, basit kullanım açışından temelde C'nin makroları gibiler ama bazı üstünlükleri var. Hatırtalma için: http://ddili.org/makale/katma.html)
Bazı noktalar sonraya kaldı:
'o' sıra numaraları olarak şimdilik a'yı 0'dan başlatıyorum
Hiç söylemeye gerek yok ama kendi kendime düşünmüş de olmak için: Bunun alfabede bulunmayan karakterler açısından sorunları var. Çünkü o karakterler için Unicode kodunu kullanırsak; örneğin D'den sonra, ama Ç'den önce görünebilecekler.
Bu hatayı gidereceğimiz yer, 'Alfabe.bilgiTopla' işlevi... Orada 'birincilSıraNumarası' olarak şimdilik harfin alfabedeki konumu kullanılıyor.
Onun yerine daha önce konuştuğumuz gibi ya 'c' + 0.5 gibi bir kesirli değer, ya da benim daha hızlı olacağını kuvvetle tahmin ettiğim gibi bir long değer kullanacağız.
Ama henüz her alfabede doğru çalışan bir algoritma bulamıyorum. Örneğin X harfinin yerini değiştiren bir alfabe vardı...
'o' Bu modülün hata ayıklamada yardımcı olan mesajlarını görmek için 'debug(tr_alfabe)' ifadeleri kullandım
'o' Makefile'a komut satırından aldığı dmd seçeneklerini de kullanma yeteneği ekledim. EK_DMD_SECENEKLERI değişkenini doğrudan dmd'ye geçiriyor.
Örnek kullanım:
cd trileri/linux
make EK_DMD_SECENEKLERI=-debug=tr_alfabe
Ali
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]
Permalink
Reply