Forum: Duyurular RSS
Yeni ders: Değerler ve Referanslar
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ı: Yeni ders: Değerler ve Referanslar
  http://ddili.org/ders/d/deger_referans.html

Ali
acehreli (Moderatör) #2
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ı
Bu konu fazla uzuyor diye 'null' ve 'is'i başka bir konuya ayırmaya karar verdim. Ama öyle yapınca 'referans değişkenleri' ile 'referans türlerinin' önemli bir farklarını da belirtememiş oldum:

Atama işleminde:

- 'referans değişkenleri' takma ismi oldukları değeri değiştirirler

- 'referans türleri' ise, hangi nesneye erişim sağladıklarını değiştirirler.

Yani C++'ın referansları ile göstergelerinin eşdeğeri olan kavramlar. D'de gösterge kavramına günlük kullanımda gerek yok galiba... :)

Bu derse atamanın farkını ekleyeceğim ama sonra... :)

Bir de aciz şekillerimde kullandığım kutu karakterlerinin her fontta bulunmadığını ben de farkettim. ;) Yakında bir çözüm bulacağım.

Ali
canalpay (Moderatör) #3
Kullanıcı başlığı: Can Alpay Çiftçi
Üye Tem 2009 tarihinden beri · 1133 mesaj · Konum: İzmir
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Kutuyu paint'te yapsaydınız daha iyi olurdu. Her ne kadar sitenin arka plan rengine uymayacak olsada.
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ı
Yanıtlanan mesaj #2
Tamam değiştirdim:

- Yeni başlık: Atama işleminin farkı

- Yeni başlık: Referans türleri hiçbir değere erişim sağlamıyor olabilirler

Ayrıca bunları özete de ekledim.

Ali
acehreli (Moderatör) #5
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ı
Tam bu konunun üstüne, referansların null olamamalarıyla ilgili bir tartışma başladı:

  http://www.digitalmars.com/webnews/newsgroups.…?art_grou…

D, hiçbir nesneye erişim sağlamayan değişkenlere izin verir:

    File dosya;

Bazı dillerde "non-nullable" tür diye bir kavram var: o durumda değişkenler mutlaka bir nesneye erişim sağlamak zorunda oluyorlar. Yukarıdaki konudan geçilen Dr.Dobbs CodeTalk yazısındaki örnekten anlaşıldığına göre, örneğin C#'ta bir türün 'nullable' ("null olabilen") olup olmadığı denetlenebiliyormuş:

    // C# kodu:
    MyClass? nullable = new MyClass(); nullable = null;

Yani ancak 'nullable' ise null değer atanabiliyormuş.

Böylece o türleri kullanmadan önce şöyle denetimler gerekmemiş oluyor:

    if (dosya !is null) {
        dosya.writefln("merhaba");
    }

Eğer dosya 'non-nullable' bir türse, hiç null olamayacağı için denetlemeden doğrudan kullanılabiliyor:

    dosya.writefln("merhaba");

İşin garibi, hani D'den türemiş ve Python yazımına benzeyen deneysel bir dil vardı (Delight):

  http://delight.sourceforge.net/

O dilde referanslar non-nullable. (Hepsi mi yoksa özellikle mi seçiliyor; bilmiyorum.)

Ali
acehreli (Moderatör) #6
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ı
Bu derste eşleme tablolarının da referans türleri olduklarından hiç bahsetmemişim. Onun için de küçük bir paragraf ve örnek kod ekledim.

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:
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-22, 05:06:40 (UTC -08:00)