2

私はこのクラスを持っています:

class Option
  # ORM's properties
  def self.get( id )
    # some ORM action
    "result of #{id}"
  end
end

そしてOption.get :setting、結果を受け取るために呼び出すことができます。と同じ結果を得るために( を返す)Option(:setting)のように呼び出したい場合、クラスをどのように記述すればよいですか?String(42)"42"Option#get

4

1 に答える 1

1

String実際にはKernel モジュールのメソッドです:

文字列(引数) → 文字列

メソッドを呼び出してargを aに変換します。Stringto_s

ArrayFloat、および友達が同じ場所にいます。カーネルは Object に含まれており、単純なグローバル関数のように使用されるすべてのメソッドがそこに配置されます。カーネルにモンキー パッチを適用できます。

module Kernel
  def Option(id)
    Option.get(id)
  end
end

または、そのようなメソッドを使用して独自のモジュールを作成し、アクセスしたい場合はそれを含めるようにしますOption(11)

于 2012-05-01T06:44:14.350 に答える