ActiveSupport を pry 上で動かす
ActiveSupport を pry 上で動かす
Active Support
を pry
上で動かしてみます。
pry の起動
$ 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/username/.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
は、少し挙動が違います。
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
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
の提供するメソッドであることを知りませんでした。