LoginSignup
1
0

More than 1 year has passed since last update.

Ruby | pinspect メソッドの戻り値を変えると pry での表示も変わる

Last updated at Posted at 2018-06-03

Stringクラスのinspectを上書きした例

[12] pry(main)> class String
[12] pry(main)*   def inspect
[12] pry(main)*     :overwrite
[12] pry(main)*   end
[12] pry(main)* end

どんな文字列で終わっても overwrite が表示されるようになった。

[13] pry(main)> "a"
=> overwrite
[14] pry(main)> "b"
=> overwrite
[15] pry(main)> "c"
=> overwrite

追記

これは pry が表示に p を使っているからっぽい。
( p メソッドは inspect メソッドの結果を出力するメソッド )

素のRubyで試した例。

class String
  def inspect
    :overwrite
  end
end

p "a" # overwrite
pp "a" # overwrite
puts "a" # a

環境

  • pry (0.11.3)
  • ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]

参考

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

Twitter

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0