Merhaba,
D dili üzerinde bir proje geliştirince çok fazla şeye ihtiyaç duyuyor insan. Dersleri baştan sona okumamanın acısını çekiyorum...:)
Bugün istedim ki yazdığım projeye dışarıdan parametre gireyim. Ama bunun ilk değeri sayısal olduğu için biraz önce adeta afalladım. Bunu nasıl yapacaktık; bilmiyordum! Ben de basamağın kuvveti ile çarpmayı düşündüm. Herhalde yanlış bir şey (magicNumber'a dikkat!) yapıyorum, sizce?
Alıntı:
> void main(string[] param) {
> int n, magicNum = 48;
> foreach(args; param[1 .. param.length])
> {
> n = 0;
> foreach(a, arg; args) //n += (cast(int) arg) * 10^^a;/*
> n += (cast(int) arg - magicNum) * 10^^(args.length-a-1);//*/
> writefln("%d, length=%d", n, args.length);
> }
> ```
> **Çıktısı:**
> 'salih@DB-N150-N210-N220:~/d.ders$ ./argTest 704 45
> 704, length=3
> 45, length=2'
>
Yani cast ile ilk argument'i int'e çevirmek yetmiyor bir de 48 sayısında çıkarmak gerekiyor. Bu sayı nereden geliyor böyle...:)
**Dip Not:** Eğer kodu denerseniz, lütfen bir de gizlenmiş satırı (//) açığa çıkarın, zaten diğeri otomatikman gizlenecek; sayıların anormal şekilde büyüdüğünü göreceksiniz.
Sevgiler, saygılar...
--
[ Bu gönderi, <http://ddili.org/forum>'dan dönüştürülmüştür. ]