プロが教える店舗&オフィスのセキュリティ対策術

module_functionを使いモジュール関数を自分で作った場合は クラス名.メソッド名 とクラス名を省略できないのに対し、Kernelモジュールのpメソッドなどはクラス名を省略できるのは何故なのでしょうか?

A 回答 (1件)

RubyプログラムのトップレベルはObjectクラスに属するためです。


p self.class で確認できます。
そしてObjectクラスはKernelモジュールをインクルードしています。

参考:
https://docs.ruby-lang.org/ja/2.6.0/class/Kernel … より
> module Kernel
> 要約
> 全てのクラスから参照できるメソッドを定義しているモジュール。 Object クラスはこのモジュールをインクルードしています。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!