2007年2月22日 星期四

目前對Ruby的觀感,以alias的功能為例

有很多特別的東西值得一提,但這些東西都太簡單太容易看到,稍微學一下Ruby就會體會到,反而覺得沒必要特意提。

很多優點要有些概念才能明白到底有多方便,舉例來說,alias可以改變method,而不用inheritance去改。原本OOPL裡會用 interface/class 先包好,在良好的設計下,可以簡單地抽換行為,比方對method做log。注意,要有良好的設計,還有隨之的規範

一個簡單的應用是,若我們能改寫輸出方法,我們就能記錄輸出訊息,方便Unit Test,而不用改寫被測試的 函式/物件。

視語言的不同,可以用巨集或wrapper object實作,這裡通稱 fake_puts。fake_puts會記錄輸出的字串,再真的呼叫 printf / cout / System.out,於是我們用的所有物件得先遵守這個設計,使用fake_puts,而不是直覺的 printf / cout / System.out。

這有很多問題:不方便、已寫好的code很難改、沒有source code無解,但Ruby可以直接改變既定的method,非常簡單

$record = [] alias old_puts puts def puts(str) $record << str old_puts str end

只要在程式裡加入上段的code,所有程式不用更動,行為照舊,而且所有用puts輸出的訊息都有存到形態為Array的全域變數$record。Ruby就是這麼簡單又強悍。

7 則留言:

  1. Really nice blog post.provided a helpful information.I hope that you will post more updates like this Ruby on Rails Online Course

    回覆刪除
  2. toptan iç giyim tercih etmenizin sebebi kaliteyi ucuza satın alabilmektir. Ürünler yine orjinaldir ve size sorun yaşatmaz. Yine de bilinen tekstil markalarını tercih etmelisiniz.

    Digitürk başvuru güncel adresine hoşgeldiniz. Hemen başvuru yaparsanız anında kurulum yapmaktayız.

    tutku iç giyim Türkiye'nin önde gelen iç giyim markalarından birisi olmasının yanı sıra en çok satan markalardan birisidir. Ürünleri hem çok kalitelidir hem de pamuk kullanımı daha fazladır.

    nbb sütyen hem kaliteli hem de uygun fiyatlı sütyenler üretmektedir. Sütyene ek olarak sütyen takımı ve jartiyer gibi ürünleri de mevcuttur. Özellikle Avrupa ve Orta Doğu'da çokça tercih edilmektedir.

    yeni inci sütyen kaliteyi ucuz olarak sizlere ulaştırmaktadır. Çok çeşitli sütyen varyantları mevcuttur. iç giyime damga vuran markalardan biridir ve genellikle Avrupa'da ismi sıklıkla duyulur.

    iç giyim ürünlerine her zaman dikkat etmemiz gerekmektedir. Üretimde kullanılan malzemelerin kullanım oranları, kumaşın esnekliği, çekmezlik testi gibi birçok unsuru aynı anda değerlendirerek seçim yapmalıyız.

    iç giyim bayanların erkeklere göre daha dikkatli oldukları bir alandır. Erkeklere göre daha özenli ve daha seçici davranırlar. Biliyorlar ki iç giyimde kullandıkları şeyler kafalarındaki ve ruhlarındaki özellikleri dışa vururlar.

    回覆刪除