Güzel! :)
Denemek için yazdığını görüyorum ve sen de bazılarını değiştireceksin ama bir kaç tabii ki kişisel görüşüm var:
- Ben özel bir nedeni yoksa float yerine double kullanıyorum. Tabii belki de en iyisi gerçekleştirme türünü ve hatta boyutu bile parametre olarak almaktır:
struct Vector(T, int boyut)
{
T[boyut] elemanlar;
}
-
Yapılar değer türleri olduklarından dil bize çok yardımcı oluyor; bizim bazı durumlarda özel işlemler yapmamıza gerek kalmıyor. Örneğin bu tür için opAssign(Vector2)'yi yazmaya aslında gerek yok
-
Bu yüklemeler aslından birden fazla işleçle de kullanılabilir. Onun için şablon kısıtlamalarıyla küçük bir deney yaptım. std.algorithm.canFind, bir elemanın bir aralıkta bulunup bulunmadığını bildiriyor. Belki dışlama gereken durumlarda yararlı olabilir:
import std.algorithm;
// ...
void birŞablon(/* ... */)
if (!canFind("/%", işleç))
{
// ...
}
Ali
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]