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という二つのオブジェクトだけが偽で、のこりのすべての
オブジェクトは真になる。