39010

[code]

    def aaa
     puts レシーバー + 50
    end
    
    100.aaa
    
[/code]

これの結果の150を表示させる方法はどうすればよいのでしょうか？  
引数ではなくレシーバー（100）の値をメソッド内に取得する方法がわかりません。


CC BY-SA 3.0
2017-10-24T17:48:20.467
39008
2017-10-25T00:59:09.267
25901
question
ruby
Rubyのレシーバーの値を取得する方法

[code]

    class Integer
      def aaa
        puts self + 50
      end
    end
    
[/code]

aaa methodをどこに定義しなければならないか？を考えると良いと思います。  
当然レシーバーとなる100のclassに定義してあげないと、100にはmethodが増えません。  
`100.class`などの結果から100という数字がなんのclass objectなのかも調べると良いと思いますよ。

`特異method`とか`オープンクラス`とかのキーワードでぐぐってみると色々情報が見つかりますよ。  
ただし、使い方には注意してくださいね。特に既存methodのoverrideなどは慎重に...

ruby 2.4.1


CC BY-SA 3.0
2017-10-25T00:09:02.910
39010
2017-10-25T00:59:09.267
2017-10-25T00:59:09.267
2383
2383
39008
answer