オブジェクトのprivateメソッド

p , print , putsはObjectクラスのPrivateなメソッド。 よってクラスを定義した時に、Object,Kernel,BasicObjectが継承関係に取り込まれ、レシーバが省略される。

 Object.private_methods.grep(/p/)
=> [:public,
 :protected,
 :private,
 :initialize_copy,
 :prepended,
 :sprintf,
 :loop,
 :Complex,
 :suppress,
 :open_uri_original_open,
 :sleep,
 :polyglot_original_require,
 :respond_to_missing?,
 :open,
 :printf,
 :print,
 :putc,
 :puts,
 :p,
 :initialize_dup,
 :pp,
 :proc,
 :trap,
 :spawn]

🐤