オブジェクトとto_s メソッドについて(Ruby)
はじめに
今回からチェリー本でRubyの基礎知識について学習していきます!
基礎知識を学ぶ前に学習対象や学習方法をについて知りたい方は、以前の記事を参考にしてください!
(参考文献に記載しておきます)
今日はto_sメソッドについて説明していきます。
オブジェクトについて
まずto_sメソッドについて説明する前にオブジェクトについて説明します。
Rubyはオブジェクト指向言語です。
オブジェクト指向については様々な知識を理解した上での説明になるため、7章で詳しく説明していきます。
(先は長そうです😅)
文字列や配列はもちろん、数値やnil(ほかのプログラミング言語でいうところのnull)も含めて、すべてがオブジェクトになっています。
その証拠に数値やnil、trueやfalseに対してもメソッドを呼び出すことができます。
Rubyでは「null」ではなく「nil」が使われるんですね!
「すべてがオブジェクト」についてわからなかったのでChatGPTに聞いてみました!
通常のプログラミング言語では、基本データ型(例えば、整数、浮動小数点数、文字列など)はプリミティブなデータ型として扱われ、オブジェクト指向のクラスやオブジェクトとは区別されます。
しかし、Rubyではこれらも含めてすべてがオブジェクトです。
なるほど!他の言語では区別されるところでも、Rubyはすべてオブジェクトであるため一貫性があるということですね!
補足ですが、このように「すべてがオブジェクト」といわれる言語は、他にはPython,JavaScriptなどです。(PHPはすべてがオブジェクトというわけではないそうです。)
to_sメソッドについて
to_sメソッドとは「オブジェクトの内容を文字列化するメソッド」です。
irbコマンドをつかってみていきましょう!以下はコード例です。
# 文字列
irb(main):001:0> '1'.to_s
=> "1"
# 数値
irb(main):002:0> 1.to_s
=> "1"
# nil
irb(main):004:0> nil.to_s
=> ""
# true
rb(main):005:0> true.to_s
=> "true"
# false
irb(main):007:0> false.to_s
=> "false"
# 正規表現
irb(main):008:0> /\d+/.to_s
=> "(?-mix:\\d+)"
といったようにすべて文字列で認識されています!
これが「すべてオブジェクト」ということですね!
さいごに
今回はto_sメソッドについて説明しました。
次回はメソッドの呼び出しのいくつかの形式をみていきます!
参考文献
プロを目指す人のためのRuby入門 改訂2版
プロを目指す人のためのRuby入門(チェリー本)を使うべき人
プロを目指す人のためのRuby入門(チェリー本)の学習方法
Discussion