平々凡々エンジニア

平凡で難しい悩みを解決

ruby 使用できるmethodとか使っているモジュール、継承クラスを見つけ方法

デバックするときに役立ちました

使用できるmethodの見つけ方

例 sendと名のついた使用できるメソッドを検索する

p.str.methods.grep(/send/) # => [:send, :public_send, :__send__]`

クラス、モジュールのスーパークラスとインクルードしているモジュールを調べる

珍しくruby公式リファレンスが見易かったのでこちらから引用します

module Foo
end

class Bar
  include Foo
end


class Baz < Bar
  p ancestors
  p included_modules
  p superclass
end

# => [Baz, Bar, Foo, Object, Kernel, BasicObject]
# => [Foo, Kernel]
# => Bar

余談

リファレンスが見やすい言語を使った方が安心感があって良いなって思います。 rubyはシンプルにしようとしすぎて逆に読みづらい。 マイクロポスト系は日本語訳がおかしいせいで欲しい情報が英語リファレンスにしかない。 swiftはよかった記憶があるけど...xcodeの仕様が毎回ひどいので他のエディッタを使いたいけど選択肢がなさすぎる。 リファレンスやエディタ、ファイル管理などを考えるとどの言語が一番良いのだろうか?