#オブジェクトとは
オブジェクトとは、関連する変数(値)とメソッド(動作)をまとめて、そのまとまりに名前を付けたものです。関連する変数やメソッドを1つのオブジェクト内でまとめてしまうことで、管理しやすくするのが
オブジェクト指向です。
#Rubyはオブジェクトでできている
Rubyで出てくるオブジェクトは全て,いずれかの型に属する。
この型をクラスと言います。
#String (文字列)型 #Integer(整数)型
"Hello,world" 10
#オブジェクトの性質
Rubyの世界
オブジェクト
String Class Integer Class
"Hello,world" .length 10000
.downcase
インスタンス メソッド
*補足 lengthはインスタンスの長さを表しています。 "Hello,world" .length
で出力すると11と出てきます。 Hello,worldが11文字だからですね。
lengthと似たものだとsizeなどあります。
downcaseは全部小文字にするメソッドです。"Hello,world".downcaseで
=> "hello,world"と出力されます。
#オブジェクトの型の変換
型(class)が違うとプログラムはうまく処理ができません
⚫︎クラスが異なると処理できない?
ex) "15" + 20
2] pry(main)> "15" + 20
TypeError: no implicit conversion of Integer into String
from (pry):2:in `+'
⚫︎クラスを変換して,計算できるようにする
ex) "10".to_i + 2
[3] pry(main)> "10".to_i + 2
=> 12
#補足
.to_iのiはInteger型 のiです。 "10"だと10は文字扱いですが
.to_iにすることにより数字扱いになります。だから10+2が成立して12になります。
他のも.to_sが使えます。
pry(main)> 10.to_s + 2
TypeError: no implicit conversion of Integer into String
from (pry):2:in `+'
エラーの原因は10が.to_sによって整数扱いになっているからです。
pry(main)> 10 + 2
なら12と出力されます。
#Rubyでよく使われるクラス
string 文字列
Float 少数
Array 配列
integer 整数
Hash 連想配列
TrueClass true(正)
FalseClass false (誤)
NilClass nil(値なし)