JavaScript、Ajax、HTML5(API)、Ruby…Web及び関連技術の実験&情報公開&制作物紹介。

2010年11月アーカイブ

【覚書】[Ruby]続・トップレベルに定義したメソッドと同名のメソッドをクラスで定義した場合

| コメント(0) | トラックバック(0)

本日(日付が変わっちゃったので正確には昨日)、第14回Ruby東海勉強会に行ってきました。 そこでヒントをもらったので、半年前の記事に補足。

[おさらい]半年前に考えてたこと

def meth(a) p a; end
class Clazz
  def meth
    《トップレベルで定義した同名メソッドを self を引数に渡して呼び出したい!》
  end
end

こんなことしたい場合に、どうすれば良いのか?

↑こんなことを考えていました。

ポイントは以下の通り:

  • トップレベルで定義したメソッド = Kernelモジュールで定義されたprivateメソッド。
  • Kernelモジュールで定義されたメソッドと同名のメソッドを定義 = メソッドのオーバーライド。
  • privateメソッド = レシーバを指定して呼び出すこと(obj.methのように)が出来ない!(Rubyの仕様)

このアーカイブについて

このページには、2010年11月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2010年6月です。

次のアーカイブは2010年12月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

月別 アーカイブ

OpenID対応しています OpenIDについて