April 21, 2014

Hatayı bildirdim:

https://issues.dlang.org/show_bug.cgi?id=12610

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

April 21, 2014

Bende şöyle görünüyor:
'
tS lB uB aa
76 41 42 47
74 43 41 37
79 46 47 39
79 46 46 37
79 48 46 39
82 59 61 39
86 52 70 43
82 58 60 40
82 60 61 49
96 60 82 44
96 64 82 47
98 75 72 40
100 75 73 37
99 72 73 42
99 77 75 39
111 76 94 37
99 77 73 41
102 75 88 38
101 76 88 38
'
O çıktıdan ne anlıyoruz: İlk satır 10 adet için deneme ve son satır 190 adet için deneme. Demek ki 190 / 10 == 19 katına çıkartmışız. Sonuç örneğin lB için kaç kat artmış? 76 / 41 = 1.8 kat artmış. Yani 19 kat değil, çok daha az artmış. Sabit de değil...

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

April 22, 2014

tS lB uB aa
224 137 134 86
202 135 132 91
227 177 153 81
216 160 152 76
216 159 151 83
250 186 174 85
235 185 175 83
283 210 196 90
235 186 174 83
282 208 196 93
283 209 196 87
282 209 195 88
282 208 197 76
282 208 195 77
253 210 197 78
314 234 217 76
314 234 218 76
314 234 218 78
314 233 218 76

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

April 22, 2014

Ali hocam benim dizim bir struct dizisiydi ve struct üzerindeki bir değişken ile aynı işlemi nasıl yapacağız?

auto f = find!("a.start > b")(files, pos);

find de böyle yapıyordum aynısını denedim ama hata verdi bende alias kullandım :)

Zekeriya

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

April 22, 2014

= olmayacak çünkü sonrasında diziyi 1 sola genişletiyorum. Eğer eşitlik olursa bu sefer şöyle bir sorun ortaya çıkacak

0, 10, 20, 30, 40, 50, 60 ..

Girilen değer 20
Çıkış dizisi 10, 20, 30 ...

ama eşitlik olmazsa

Çıkış dizisi 20, 30, 40, 50

şeklinde olur ki bu bana lazım olan çıktı.

Kütüphaneyi paylaşmayı düşünüyorum fakat arka planda veritabanı bağlantıları da var ve biraz sistem birbirine girmiş durumda bunları çözdükten sonra önce githuba sonrada dub da paylaşmayı planlıyorum.

Zekeriya

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

April 21, 2014

Tek alt çizgi, programda bulunması gerektiği halde gerçekte bir daha kullanılmayacak olan değişkenlere verilen isimdir. Örneğin, bir sayı aralığında sayılar üreten bir foreach'teki döngü değişkeni kullanılmayabilir:

foreach (_; 0 .. 3) {
   dene();
}

Ben de program olabildiğince kısa olsun diye öyle yaptım çünkü amacım işe yarar bir program değil, hata olduğunu düşündüğüm bir davranışı göstermekti.

Ama evet, normalde _ yerine a gibi bir isim yazarız ve o a'yı kullanırız. :)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

April 22, 2014

Bu durumda sıralama kıstası (predicate) SortedRange'e (tabii aslında onu oluşturna assumeSorted'a) veriliyor. Böylece "şu sıralama kıstasına göre sıralı olduğunu kabul et" denmiş oluyor:

   auto result = arr.assumeSorted!((a, b) => a < b).trisect(3);

Bu arada, senin kıstasında aslında >= olmayacak mı? Hiç tam elindeki değer aranmıyor mu?

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

April 23, 2014

Alıntı (acehreli:1398121171):

>

Hatayı bildirdim:

https://issues.dlang.org/show_bug.cgi?id=12610

Ve kullanıcı hatası olduğu için bugün kapattım. Tartışması şurada:

http://forum.dlang.org/thread/lj691a$2qd1$1@digitalmars.com

reduce, toplam olarak kullanacağı değerin (seed) bir kopyasını alıyor ve aralık üzerinde ilerlerken o bizim işleve hep kopyayı gönderiyor. Dikkat ederseniz, bu örnekte sabit uzunluklu dizi olan seed bir değer türü:

   int[1] seed;
   int[] result = reduce!((sum, _) => sum[])(seed, arr);

O yüzden, bizim işlevin 'sum[]' diye referans döndürmesi yanlış çünkü reduce sonlandığında içerideke kopyanın yaşamı sona ermiştir.

İşin iyi tarafı, bu konu başka bir hatayı ortaya çıkarttı. reduce içerideki toplam değişkenini döndürürken tabii ki yine kopya olarak döndürür. İşte o kopyanın result adlı dilime atanmaması gerekir çünkü dönen kopya hayatı çok kısa olan bir sağ değerdir (rvalue) ve bizim dilimin eli hemen boş kalacaktır. :)

Yeni hata raporu şu:

https://issues.dlang.org/show_bug.cgi?id=12625

(Şimdi tekrar düşününce benim ilk hatanın aslında kullanıcı hatası olmadığını farkediyorum. Biz yine de 'sum[]' diye dilim döndürebilmeliyiz çünkü nasıl olsa reduce'un en son dönüş türü 'int[1]''dir ama hemen yukarıdaki hata yüzünden kodun zaten derlenmemesi gerekir. Neyse... Bu hata gidici... :))

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

April 24, 2014

Hocam hiç böyle düşünmemiştim, açıkcası kafam senin kadar iyi çalışmıyor...:)

Aslında hatalara karşı dikkatliyimdir ve sanki bana hemen göz kırparlar. Ama bugüne kadar bulduklarım hatadan öte sanki D dilini iyi bilmediğimden kaynaklanıyor ki bunları düzelmesini zaman zaman yapıyorsun. Dolayısıyla ancak senin gibi biri hata bildirimi yapmalı çünkü biz senin kadar dile hakim değiliz.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

1 2 3
Next ›   Last »