0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

rubyリファレンスマニュアルのobjectクラスを読んだので、気になった部分をまとめる

Last updated at Posted at 2019-08-23

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"

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?