ActiveSupport を pry 上で試す
VuePress Version: ActiveSupport を pry 上で試す | hene
ActiveSupport を pry 上で試す
pry
上で、Active Support
を試します。
$ pry
[1] pry(main)>
Active Support
まず、Active Support
の
すべてのコア拡張機能を読み込みます。
[2] pry(main)> require 'active_support'
=> true
[3] pry(main)> require 'active_support/core_ext'
=> true
active_support/core_ext だけではだめ
先に active_support/core_ext
を読み込もうとすると、以下のようになりました。
[1] pry(main)> require 'active_support/core_ext'
NameError: uninitialized constant ActiveSupport::Autoload
from /Users/user_name/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/activesupport-5.2.2/lib/active_support/number_helper.rb:5:in `<module:NumberHelper>'
#try
#try
を使うと、
以下のようなことができます。
&.
と #try
は、
少し挙動が違います。
hash
から、キー message
の値の取り出し方を
いろいろ試してみました。
[1] pry(main)> hash = { message: 'test message' }
=> {:message=>"test message"}
[2] pry(main)> hash[:message]
=> "test message"
[3] pry(main)> hash.[] :message
=> "test message"
[4] pry(main)> hash.try(:[], :message)
=> "test message"
[5] pry(main)> hash.try(:[], :message).split(' ')
=> ["test", "message"]
[6] pry(main)> hash.try(:[], :message).try(:split, ' ')
=> ["test", "message"]
Hash
の挙動が気になったので、試してみた。
[1] pry(main)> test = { 'text': 'message' }
=> {:text=>"message"}
[2] pry(main)> test[:text]
=> "message"
[3] pry(main)> test['text']
=> nil
[4] pry(main)> test = { 'text' => 'message' }
=> {"text"=>"message"}
[5] pry(main)> test['text']
=> "message"
[6] pry(main)> test[:text]
=> nil
Rails
Rails
では、
すべての Active Support
を読み込みます。
Rails
でよく使っている、blank?
present?
presence
などが
Active Suppot
の提供するメソッドであることを知りませんでした。