Şurada Ali Hocamın bir açıklaması bulunmakta http://ddili.org/forum/post/3767 Kısaca:
Alıntı:
> Bundan sonraki adım, DarbeTipi'ni enum yapmak yerine Darbe diye bir sınıf sıradüzeni kurmak olabilir. Nesne yönelimli programlamaya tam sadık olanlar için switch deyimi bir işarettir: o deyimin görüldüğü yere bir sıradüzen gelebilir. :)
Darbenin etkisi, sınıfları olmayan C'de switch ile yazılmak zorundadır. (Aslında işlev göstergeleriyle C'de de nesne yönelimli programlama yapılır ama çetrefillidir.) D gibi dillerde ise aşağıdaki gibi de olabilir. (Not: enum ve switch yasak değildir. :) Bir işaret olarak görülebileceğini söylemek istiyorum.)
Diye belirtmiş ki tam olarak benim anlatmak istediğim açıklamaya referans oluyor.
Ders arası bölümünde olmasını arzu ettiğim ve yararlı olacağına inandığım örnekler böyle açıklamaları da barındırmalı ki daha rahat kavranılsın.
Nasıl geliştirebiliriz sorusu orada yanıta da dönüşüyor.
Şimdi senin koduna dönersek; Ben bu aşamaya gelene kadar sanıyorum bir kaç ara kod daha vermenin iyi olacağını düşünürdüm. Önce tasarımı anlatırdım nereden başlayıp nereye gitmek istediğimi bildirirdim. Programım için kullandığım modüllerden nasıl faydalandığımı açıklardım ( ki sen bunu her zaman unutmadan ekliyorsun güzel ve yararlı :-) Elimden geldiğince kullandığım olanakları açıklamayı ihmal etmezdim gibi gibi. Çünkü kod örneği vermekten çok derslerin anlaşılmasına katkımız olsun derdindeyiz diye düşünürdüm.
Salih'çiğim aman söylediklerim yanlış anlaşılmasın. Ben sadece dün belirttiğim eksikliği nasıl giderebileceğimiz konusunda sesli sesli düşünüyorum. Yoksa kodların gayet güzel anlaşılır ve yeterli.
Alıntı:
>
> case "do" : sonuç ~= "1"; break;
> case "re" : sonuç ~= "2"; break;
> case "mi" : sonuç ~= "3"; break;
> case "fa" : sonuç ~= "4"; break;
> case "sol": sonuç ~= "5"; break;
> case "la" : sonuç ~= "6"; break;
> case "si" : sonuç ~= "7"; break;
> default : sonuç ~= "0";
> ```
>
Şimdi bir örnek; ben konsoldan "Re" girdiğimde çıktıyı tür dönüşümü olarak alıyorum ve hemen aklıma takılan soruyu soruyorum:
Programcımız burada neyi hedeflemektedir. Acaba:
case "re","Re" : sonuç ~= "2"; break;
Biçiminde bir düzenleme gerekiyor mu?
--
[ Bu gönderi, <http://ddili.org/forum>'dan dönüştürülmüştür. ]