u16suzuの blog

u16suzu のブログです。

*[Ruby]Rubyの動的性〜クラス定義を制御〜

Yuguiさんの「初めてのRuby」を読み始めました。この本わかりやすくて、丁寧に書かれているのでお勧めです。

今回は、この本で学んだことを書きます。
Rubyでは、クラス定義が実行時に行われるので、以下のような書き方が出来ます。なんと、if文でクラス定義を制御できちゃいます。これは素敵ですね。

class Cat
    def say
        puts "にゃー"
    end
end

class Dog
    def say
        puts "わんわん"
    end
end

Flag = "Cat"
#Flag = "Dog"

#制御文の中でクラス定義をできます。
if(Flag == "Cat")
    class Child < Cat        
    end
else
    class Child < Dog
    end
end

ch=Child.new
ch.say

初めてのRuby

初めてのRuby