Rubyの基本、PHPとの違い

理解するコツ

・数値も文字列もすべてオブジェクトであり、変数はオブジェクトの名札
・配列とハッシュは別
・オブジェクト = インスタンス
・変数から変数への代入時は「.dup」(整数値を除く)

PHPとの違い

・行末 ; 不要
・<> → !=
・文字列の連結 . → +
・連想配列 → ハッシュ

・数値も文字列も、すべてオブジェクト
・すべてのオブジェクトは、何かのクラスのインスタンス

・$を先頭に付けるのは、グローバル変数のみ
・s2 = s1 といった代入は、すべて参照渡し
・値渡しにするには s2 = s1.dup とする

・インクリメント演算子、デクリメント演算子が無い

・数値と文字列を自動的に相互変換しない
・文字列化 数値.to_s
・整数化  文字列.to_i

・if ~(then)~ end
・elseif → elsif
・if文を後置できる
・0 と 空文字列"" は真となる。偽は false と nil だけ
・switch ~ case ~ break → case ~ when ~ end

・foreach (配列 as $value) {} → 配列.each do |value| ~ end
・foreach (配列 as $key=>$value) {} → 配列.each do |key,value| ~ end

・すべての関数がメソッド
・メソッドの () を省略できる
・メソッド定義 def 引数 ~ end
・返り値は、メソッド定義内で最後(endの上)に変数名を1行書けばいいだけ

・コンストラクタは initializeメソッド
・$this-> → self.
・インスタンス変数へのアクセスにはアクセスメソッドが必要

・正規表現マッチング /cde/ =~ "abcdefgh"

Javaとの違い

・try ~ catch ~ finally → begin ~ rescue ~ ensure