2011年5月11日水曜日

Ruby言語 オブジェクトとクラス

puts "##########アクセス########1"      

class Yapoo

    def public_method; end
   
    private
    def internal_use
        puts "成功"
     end
   
    public
    def public_api
        return internal_use
    end
end
    yapoo = Yapoo.new
    yapoo.public_api
    #yapoo.internal_use
   
   
puts "##########特異メソッド 特異クラス########"
     
message = "Hello"
def message.build_greeting(target)  #特異メソッド オブジェクト専用のメソッド
    #return "#{self}, #{target}."

end

p message.build_greeting("world")
p message2 = "Hello"
#p message2.build_greeting("world")  #エラーが出ます。メソッドはありません「undefined method....」と


puts "##########クラスメソッドとメタクラス########"

class Duration1
    def initialize(since,till)
        puts "kita"
        puts since
        puts till
        @since = since
        @till = till
    end
    #attr_accessor :since, :till
    class << self  #特異クラスを定義Duration1
        p self #デバック
        def week_from(from)#クラスメソッド
            puts "kita2"
            return self.new(from, from+7*24*60*60)#一週間の秒数
        end
    end
end

#Duration1.new(Time.now,Time.now)
p  Duration1.week_from(Time.now)




0 件のコメント:

コメントを投稿