ジョージプログラマーの日記

Wow, look at what I did!

Pryとpry-doc gemを使ってRubyのソースコードを読む

こんにちは!@hattori6789です。
Rubyの標準ライブラリには、便利なメソッドが数多く存在します。
今回は、Rubyの対話型評価環境であるPryと、pry-doc gemをインストールし、Arrayクラスのlengthメソッドが、C言語でどのように定義されているのか気軽に見ていきます。

目次

環境

  • OS X 10.11.6
  • Pry version 0.10.4 on Ruby 2.3.1
  • pry-doc (0.9.0)

Pryについて

Pryには、『覗く』、『詮索する』という意味があります。
Pryは、irbと同様にRubyのための対話型評価環境であり、多くの高度な機能を備えています。
また、pry-doc gemをインストールすることで、クラス、モジュール、メソッドがどのように定義されているのか、簡単に確認することが出来ます。

pryとpry-docをインストールする

$ gem install pry pry-doc

show-sourceコマンドを使ってメソッドの定義を覗く

pryを起動

$ pry

Arrayクラスの、lengthメソッドの定義を確認

[1] pry(main)> show-source Array#length

From: array.c (C Method):
Owner: Array
Visibility: public
Number of lines: 6

static VALUE
rb_ary_length(VALUE ary)
{
    long len = RARRAY_LEN(ary);
    return LONG2NUM(len);
}

補足

簡単にlengthメソッドの定義を確認出来ました。
今回は"show-source"を使いましたが、aliasに"show-method”や”$"が提供されています。
PryのGitHubリポジトリのURLも参考になります。

参考URL Source browsing · pry/pry Wiki · GitHub