mapに与える&を.(ドット)で繋ぎたい
class Hoge
attr_accessor :foo
def initialize(value)
@foo = Foo.new(value)
end
end
class Foo
attr_accessor :value
def initialize(value)
@value = value
end
end
values = [
Hoge.new(1),
Hoge.new(2)
]
p values.map{|hoge| hoge.foo.value} #=> 問題なし
p values.map(&:foo.value) #=> エラー
undefined method `value' for :foo:Symbol (NoMethodError)
サンプルソースは上記のとおりです。
エラーが起きているものの行の上の行と同等の動きをすると想定していますが、文法的に認識してくれずエラーのようです。正しい書き方はありますか?