2015-12-16から1日間の記事一覧

Object#methods の出力が protected メソッドも含むこと(Ruby)

Object#protected_methods もありますけれど。 class A def hello A.new.x end def x; puts "hello"; end protected :x end a = A.new p a.methods #=>[:hello, :x, :nil?, ...] p a.protected_methods #=>[:x] a.hello #=>"hello" a.x #=>protected method …

変数を比較するときに NoMethodError が出るのを回避する(Ruby)

変数が定義されている(nil or false でない)とき、その変数の評価をしたい場合がありますよね。例えば puts a if a > 0 とかです。これは a が定義されていない(nil or false の)場合、当然比較はできないのでエラー(NoMethodError)になります。これを…

Pythonのリストのスライスに同等のメソッドをRubyで実装

Python にはリスト(Ruby の配列)のスライスと呼ばれる操作があります。 >>> a = [0, 1, 2, 3] >>> a[0 : 2] [0, 1] みたいなやつです。Python のお勉強に、これと同等のメソッドを Ruby で実装してみました。Array#slice は既に存在するので、pickup とい…