昨日railsのinquiry
メソッドを知りました。
APIドキュメントでinquiry
と引くと、Array
とString
にはえているようです。
今回知ってどちらのクラスにも使ったのですが、特にString
に対してこのメソッドを使うと、とにかく便利で、たった1語でこんなことができるんかと、まあとにかく感動しました。
例えばこのようになります。
inquiry
使わない場合
> "sushi".class => String > main_dish.sushi? # sushi?ってメソッドはStringクラスにないので Traceback (most recent call last): 1: from (irb):4 NoMethodError (undefined method `sushi?' for "sushi":String)
inquiry
使う場合
> main_dish = "sushi".inquiry => "sushi" > main_dish.sushi? => true 0> main_dish.pizza? => fals
メインディッシュは寿司に決まり!
> main_dish.sushi?.class => TrueClass > main_dish.pizza?.class => FalseClass
とTrue/Falseが戻り値になります。
また inquiry
というのは StringInquirer
クラスで、もとのインスタンスをラップします。
> "sushi".inquiry.class => ActiveSupport::StringInquirer
上記はString#inquiryですが、Array#inruiryでも基本は同様(ArrayInquirerクラスにラップする)。
昨日知って昨日メソッドを使ったばかりですが、このソース読んでみます。 最近は「やりたいことはだいたいrailsのメソッドがある」というのを体感していて、感動しています。すごいなあ!