ruby リファレンスマニュアル
rubyの仕組みや構造、機能を知りたいと思いrubyリファレンスマニュアルを読み始めました。
ざっくりと気になった部分をまとめます。
Ruby リファレンスマニュアル(公式)
https://docs.ruby-lang.org/ja/latest/doc/index.html
Objectクラスとは
すべてのクラスのスーパークラス(他の下位クラスの派生元となる上位クラス。親クラス、基底クラスとも。)
Kernelモジュールをインクルードしていて、すべてのオブジェクトでKernelモジュールメソッドhttps://docs.ruby-lang.org/ja/2.6.0/class/Kernel.html が使用可能で、Objectクラスのメソッドは実際にはこのモジュールで定義されています。
rubyのオブジェクトは一部をのぞいて固有のIDを持っており、
object_id
で呼び出せます
> a = "hoge"
> a.object_id
=> 2115678909
以下気になったもの
特異メソッド
new
Objectクラスのインスタンスを生成して返します。
a = Object.new
=> #<Object:0x00007fe6127c9fe8>
インスタンスメソッド
比較
self !~ other -> bool
selfがotherにマッチしていなければtrue,していればfalseを返します。
obj = 'regexp'
p (obj !~ /re/) # => false
obj = nil
p (obj !~ /re/) # => true
eql?(other) -> bool
obj.eql?(other_obj)
objとother_objが等しければtrue、違うならfalseを返します。
p("foo".eql?("bar")) #=> false
p("foo".eql?("foo")) #=> true
また、似たようなものとして、
equal?(other) -> bool
obj.equal?(other_obj)
objとother_objが同一のものならtrue、同一でないならfalseを使用します。
冒頭のobject_id
で同一のオブジェクトかどうか判断します。
変換
to_s -> String
オブジェクトを文字列に変換します。
1.to_s --> "1"