ruby備忘録
プログラムが操作できるものはすべてオブジェクトである
すべてのオブジェクトは”アイデンティティ(ID)"と"値"をもつ。
IDは object_idメソッドで得ることができ、"equal?"メソッドで同一で
あるかどうかを調べることができる。
オブジェクトの値が等しいかどうかは"==","eql?"にて調べることができる。
rubyには関数は存在しない。
"content"と書けば、これは文字列オブジェクトを生成する"式"である。
オブジェクトに対してはメソッドを呼び出すことができる。
"content".upcase() "content".upcase().downcase()のように連鎖してもOK。
オブジェクトのインターフェイスはメソッドのみ
一行のみのプログラム
p("content")
はプログラムのネストレベルが一番低い(つまり一番"上”、"トップレベル")
ローカル変数名は小文字もしくはアンダーバー文字から始まる。
変数や定数はすべてオブジェクトへの参照(reference)を保持している。
ポイントと考えればよい? ただしそのポインタ自体の値は変更できない。
a = "content" b = a c = b
と書くとa,はすべて "content"への参照(ポインタ)となる。
最初の代入が変数宣言を兼ねるので宣言は必要ない。
定数は最初の1回しか代入ができない変数(変数名が大文字からはじまる)
Const = "content"
2回代入すると警告がでるが、理念的にはエラーにしたいところ
定数とは”いったん指したオブジェクトを記憶したら二度と変えない"って意味。
(ん?よくわからん)
条件式ではfalseとnilという二つのオブジェクトだけが偽で、のこりのすべての
オブジェクトは真になる。