読者です 読者をやめる 読者になる 読者になる

せかいや

いまいるここを、おもしろく http://sekai-in-the-box.appspot.com/

【Ruby】what_methods っていうgemを便利に使う工夫

ruby のwhat_methods っていうgem を便利に使う工夫をします。

■what_methods
https://rubygems.org/gems/what_methods

■使い方
https://github.com/BMorearty/what_methods

irb でrequireしなくても、直接実行できるようにする

ホームディレクトリ/.irbrc ファイル内に以下を追加(ファイルがなければ作成)

require 'what_methods'


 

require しなくても使えるようにする

「デフォルトオプションを設定する( RUBYOPT 変数 )」を参考に設定。

変数名 「RUBYOPT」
変数値 「-rwhat_methods」

■hoge.rb

p "hoge".what? 4

■実行結果

C>ruby hoge.rb   
"hoge".length == 4      ←特に出なくていいかな。
"hoge".size == 4      
"hoge".bytesize == 4      
[:length, :size, :bytesize]  ←これだけ表示されればOK


 

出力をシンプルにする

最終的な返り値だけが表示されるようにする。

既存のshowメソッドをコメントアウト。each文を省略

def self.show( anObject, expectedResult, *args, &block)
  find( anObject, expectedResult, *args, &block)
end 

what? メソッドの帰り値を出力

def what?(*a)
  p WhatMethods::MethodFinder.show(self, *a)
end

■実行結果

ruby hoge.rb
[:length, :size, :bytesize]


おわり。