Forum: D Programlama Dili RSS
Çok boyutlu eleman erişiminde işleç yükleme desteği geliştirildi
acehreli (Moderatör) #1
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ı
Konu adı: Çok boyutlu eleman erişiminde işleç yükleme desteği geliştirildi
dmd'nin 2.066 sürümüyle birlikte opDollar, opSlice, opIndex, ve arkadaşları topluluk[a, b .. c, $ - 1] yazımındaki gibi çok boyutlu erişimi tam desteklemeye başladılar.

"İşleç Yükleme" bölümünü hem geliştirdim hem de tek boyutlu bir kullanım örneği ekledim:

  http://ddili.org/ders/d/islec_yukleme.html

Çok boyutlu kullanımlarını ve bir örneğini ise "Ayrıntılı Şablonlar" bölümüne ekledim:

  http://ddili.org/ders/d/sablonlar_ayrintili.html

Ali
Avatar
Salih Dinçer #2
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Hocam eline sağlık...

acehreli on 2014-09-11, 16:31:
"İşleç Yükleme" bölümünü hem geliştirdim hem de tek boyutlu bir kullanım örneği ekledim:

  http://ddili.org/ders/d/islec_yukleme.html
Bu dersin Çift Uçlu Kuyruk örneği ilgimi çekti. Örnek de çok işlevsel görünüyor ama opDollar'ın kullanıldığını göremedim. Yani mantığını anladım ve bu örnekte iki dizinin toplamını verdiği de aşikar, fakat this[$ - 1] gibi bir kullanım göremediğim için tam olarak işe yarayıp yaramadığını anlayamadım...
    /* Uzunluk anlamına gelen $ karakterini tanımlar.
     *
     * Örnek: kuyruk[$ - 1]
     */
    size_t opDollar() const
    {
        return baş.length + son.length;
    }

Teşekkürler...
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
acehreli (Moderatör) #3
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ı
Salih Dinçer:
Çift Uçlu Kuyruk örneği ilgimi çekti

O fikri Chuck Allison'ın DConf 2014 konuşmasından çaldım! :) D dersinde ödev konularından birisi buymuş. Ama fikir onun değil; çift uçlu kuyruğu iki diziyle gerçekleştirmek yaygınmış.

Kendisine mesajla haber verdim. O da bana dert etmememi ve ödevi biraz değiştireceğini söyledi. :)

opDollar'ın kullanıldığını göremedim

Unutmuşum. O örneği milyon kere değiştirmelerim sırasında kaybolmuş olmalı. :) Yine de metin içinde şu örnek kalmış:
    e = kuyruk[$ - 1];                  // sonuncu eleman
    e = kuyruk[kuyruk.opDollar() - 1]// üsttekinin eşdeğeri 
Anlamı açık ama, değil mi? Hangi boyutta kullanılmışsa o boyutun uzunluğunu döndürmeli.

İşleç yüklemenin bu yeni mantığını beğendim. Başta özellikle opSlice'ın görevinin opIndex'e geçmiş olduğunu anlayamadım. D.learn haber grubunda sordum; onlar da tam olarak açıklayamadılar. Sonunda kendim o bölümde yazdığım biçimde anlayabildim ve açıklayabildim. :)

Ali
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, 11:18:31 (UTC -08:00)