Forum: D Programlama Dili RSS
Comma kaldırılıyor
Avatar
zekeriyadurmus #1
Kullanıcı başlığı: Talha Zekeriya Durmuş
Üye Eki 2012 tarihinden beri · 701 mesaj · Konum: Samsun/Türkiye
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: Comma kaldırılıyor
Şu başlık dikkatimi çekti http://forum.dlang.org/thread/lgnhqd$1de5$1@digitalmars.com?page=1.

, işaretinin kaldırılacağından bahsediyor (yanlış anlaşılma olmasın belli yerlerde sadece)

ve hiç anlamadığım şöyle kullanımları varmış bunun

while(!r.empty) tmp ~= cast(string) r.front, r.popFront();
 
if (!canAccess(key)) return setEC(StatusCode.Undefined), string[].init;
 
foreach (field; fields) if ( (field in data) !is null ) data[field].free(), data.remove(field), cnt++;
 
while(el = cast(string) data[pos], tot < count && pos < len){

böyle bir özellikten bile bihaber iken bunun kaldırılması söz konusuymuş sebebi ise bug olduğu zaman tespit edilmesin zorlaşıyormuş.

bu , kullanımı hakkında Ali hocam, Salih hocam bilginiz var mı?

Zekeriya
Bilgi meraktan gelir...
Avatar
zekeriyadurmus #2
Kullanıcı başlığı: Talha Zekeriya Durmuş
Üye Eki 2012 tarihinden beri · 701 mesaj · Konum: Samsun/Türkiye
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
if (el == value) el.free(), data.linearRemove( data[pos..(pos+1)] ), tot++, len--;

ama şuradan anladığım kadarıyla sanırım yeni satır yapmakla aynı görevi görüyor.

while(
   () { el = cast(string) data[pos]; return tot < count && pos < len; }()
){

Henüz denemedim ama böyle bir kullanım da varmış
while(el = cast(string) data[pos], tot < count && pos < len){
yerine.

zekeriya
Bilgi meraktan gelir...
Avatar
zekeriyadurmus #3
Kullanıcı başlığı: Talha Zekeriya Durmuş
Üye Eki 2012 tarihinden beri · 701 mesaj · Konum: Samsun/Türkiye
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
    auto val = (int a) { return a; }(1);
    writeln(val);
Şimdi fark ettim ki scope kullanılmış orada ama etkili hiç aklıma gelmemişti. Aslında d dilin böyle güzel tricklerini bir araya getirmek faydalı olabilir.

Zekeriya
Bilgi meraktan gelir...
acehreli (Moderatör) #4
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Virgülün o kullanımının anlamı şudur: Önce sol tarafı işlet, sonra sağ tarafı; ve bütün ifadenin değeri sağ tarafın değeri olsun.

Sanırım en yaygın kullanımı for döngülerinde iki sayacın birden arttırılmasıdır:
    for (/* ... */; /* ... */; ++i, ++j)
Ali
Avatar
Salih Dinçer #5
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Çoğu hiç düşünmeden öldür gitsin demiş. Herhalde az kullanıldığından ve bilinmediğinden olsa gerek. Yanlış anlaşılmaya müsait olduğu için sorun yok sanki. Zaten son yorum sanki olayı özetleyen deneyimli birisinden:

On Tuesday, 25 March 2014 at 13:08:59 UTC, bearophile wrote:
> Steve Teale:

> I classify that as quite tricky code, it's a negative example
> :-(
>
> Bye,
> bearophile

I was not recommending it, I was just trying to think of when I'd
used comma, and that popped into my head.

Basically I agree that it is likely to introduce errors (like
mine in my example perhaps ;=), though in that case the compiler
catches it.)

I could certainly live without it

Steve
So could I :)
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-21, 19:43:04 (UTC -08:00)