Forum: Duyurular RSS
Neredeyse yeni bölüm: Değişmezlik
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ı: Neredeyse yeni bölüm: Değişmezlik
Önceki 'const ve immutable' adlı bölümü 'Değişmezlik' adı altında büyük ölçüde yeniledim:

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

  • İlk yazdığım zaman tamamen C++'çı olarak görüyormuşum :)

  • Artık daha iyi anladığım için 'Nasıl kullanmalı' diye bir başlık da ekledim

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ı
Hemen okuyorum...

Zaten şu immutable olayını henüz anlayabilmiş değilim. Hayatımda hep bir const kavramı vardı ve değişkenin Read Only'si idi. Ama sonra ne olduysa hayatıma D girdi ve bir şeyler değişti...:)
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
zafer #3
Üye Tem 2009 tarihinden beri · 700 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Eline sağlık Ali yine harika olmuş. Özellikle "Nasıl kullanılmalı" kısmını ben çok sevdim. Özellikle aralıklar ve dilimler konusunda da böyle bir bölüm olursa çok daha güzel olur diye de düşüncemi eklemek isterim.

Deitel & Deitel C ve C ++ kitabını okurken karşılaştığım ve konuların içinde "iyi programcılık teknikleri", "performans teknikleri" adı altında verilen püf noktalarını çok beğenmiştim. "Nasıl kullanmalı" bana biraz o yaklaşımı hatırlattı kesinlikle güzel ve çok yararlı diye düşünüyorum.
https://github.com/zafer06 - depo
Avatar
Salih Dinçer #4
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Uygulamalı denemeler yapıyorum da gördüklerimi paylaşmak istedim...:)
Örneğin şu bölümü denediğimde, olması gerektiği gibi derleme hataları aldım:
  • string, immutable(char)[]'ın takma ismidir
  • wstring, immutable(wchar)[]'ın takma ismidir
  • dstring, immutable(dchar)[]'ın takma ismidir
Ek olarak, dizgi hazır değerleri de değişmezdirler:

  • "merhaba"c hazır dizgisinin türü string'dir
  • "merhaba"w hazır dizgisinin türü wstring'dir
  • "merhaba"d hazır dizgisinin türü dstring'dir
Bunlara bakarak D dizgilerinin normalde değiştirilemeyen karakterlerden oluştuklarını söyleyebiliriz.
/*
 readOnly.d (15.03.2012)
*/
//import std.c.stdio: printf;/*
import std.stdio;//*/
 
void main () {
    string deneme = "Şu bir immutable denemesidir";
/*  deneme[0] = "B";  /* DERLEME HATASI: Cannot implicitly convert expression
                                         ("B") of type string to immutable(char)
*/
    deneme ~= "...";
    writeln(deneme, "\nilk iki harfi ->", deneme[0], deneme[1]);
    
    immutable(char[]) dilim = deneme;
/*  dilim ~= "...";  /* DERLEME HATASI: Variable readOnly.main.dilim cannot
                                        modify immutable
*/
    writeln(dilim, "\nilk iki harfi ->", dilim[0], dilim[1]);
}
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
Bu mesaj Salih Dinçer tarafından değiştirildi; zaman: 2012-03-15, 09:52.
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:
Forum: Duyurular RSS
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-18, 07:36:53 (UTC -08:00)