-4

ルビーではネストされたメソッドを実行できないことはわかっていますが、知りたいことは次のようなことができます:

attr_reader :dimensions

def dimensions.seprate
  [self.dimensions[0],self.dimensions[1]]
end

そして、私はそれを次のように使用できます

x,y = bar.dimensions.seprate

互いに関連するヘルパー メソッドを意味的に参照する方法として。

それはうまくいくでしょうか?

ffそれをするために離れているか、またはそのようなことはありませんか?

4

3 に答える 3

0

これは、メソッドの完全に有効な名前です。ただし、これは有効な Ruby 識別子ではありません。

define_method(:'dimensions.separate') do
  [dimensions[0], dimensions[1]]
end

x, y = bar.send(:'dimensions.separate')
于 2013-09-30T13:56:57.860 に答える