2006-02-13から1日間の記事一覧

Rubyに移植されたTropy

Rubyに移植されたTropy。

外側のself

Rubyの一番外側のスコープでのselfはmainというObjectのようです。 puts "1: #{self}, #{self.class}" #=> 1: main, Object module Rubyco puts "2: #{self}, #{self.class}" #=> 2: Rubyco, Module class Rubyco puts "3: #{self}, #{self.class}" #=> 3: R…

メソッドの中のクラス定義

さすがにメソッドの中のクラス定義は無理のようでした。 class Rubyco def rubyco class Rubyco #=> class definition in method body end end end

クラス定義の中のself

クラスメソッドの定義でself.メソッド名と書ける理由もよくわかります。selfは実際にそのクラスなのですね。 class Rubyco def self.hello puts "Hello!" end def Rubyco.goodbye puts "Bye!" end end Rubyco.hello #=> Hello! Rubyco.goodbye #=> Bye!

クラス定義をHTMLで

RubyのModuleクラスのインスタンス変数を使うと、クラス定義をリフレクトして出力できますね。 疑問: どうしてModule#public_class_methodsやModule#class_methodsがないのでしょうね。→id:sshiさんから、「クラス(モジュール)メソッドはクラス(モジュール)…