• ベストアンサー

Ruby 文法 ブロックの中で メソッドを呼ぶ

class Hoge def val 'aaa' end def piyo yield end end h=Hoge.new h.piyo do p h.val #<ーここの話 end 上の様に書く時、ブロックの中で、そのクラスのメソッドを呼ぶ時、上の例だと h.val と書いてますが、これself.valなどと書きたいのですがERRになってしまいます。 h.と書くのがとても嫌なのですが、なにか良い書き方あるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10359)
回答No.1

これはどうでしょうか? class Hoge def val "aaa" end def piyo yield(self) end end h=Hoge.new h.piyo do |this| p this.val end

nomorevup
質問者

お礼

すばらしい!! ご回答ありがとうございました。

関連するQ&A