https://docs.ruby-lang.org/ja/latest/class/Kernel.html
上記URLから
Kernelは
全てのクラスから参照できるメソッドを定義しているモジュール。
と記載されておりましたので、どんなメソッドがあるんだろうと show-source コマンドで確認してみようとしました。
[nix-shell:~/work]# irb irb(main):001:0> require 'pry' => true irb(main):002:0> pry [1] pry(main)> show-source Kernel From: /nix/store/h3kc2i0z93k5pnb6gsl6678yvgaci708-ruby-2.6.5/lib/ruby/2.6.0/pp.rb:567 Module name: Kernel Number of monkeypatches: 7. Use the `-a` option to display all available monkeypatches Number of lines: 23 module Kernel From: /nix/store/h3kc2i0z93k5pnb6gsl6678yvgaci708-ruby-2.6.5/lib/ruby/2.6.0/pp.r b:567 Module name: Kernel Number of monkeypatches: 7. Use the `-a` option to display all available monkeyp atches Number of lines: 23 module Kernel # Returns a pretty printed object as a string. # # In order to use this method you must first require the PP module: # # require 'pp' # # See the PP module for more information. def pretty_inspect PP.pp(self, ''.dup) end # prints arguments in pretty form. # # pp returns argument(s). def pp(*objs) objs.each {|obj| PP.pp(obj) } objs.size <= 1 ? objs.first : objs end module_function :pp end [2] pry(main)>
しかし、Kernelモジュールには pp関数
しか見当たりません。
調べ方を間違えているのでしょうか?
また、特定のメソッドの由来
を調べる方法はありませんでしょうか?
例えば、最近 ruby の grep
コマンドというのを発見したのですが(どこかの記事で使われているのをたまたま見た)
このコマンドがどのクラス(モジュール)で宣言されているのか?どういう内容の処理をしているのか?知りたいのですが、調べる方法はありますでしょうか?
(grep コマンドに限らず ruby上で使用される関数について調べる方法が知りたいです。)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/31 07:18