PHPプログラマのためのRuby

RailsライクなPHPフレームワークである、
CakePHPは使ってるけど、RailsというかRubyはあんまし知らない。
と言う人向けのRuby講座でもやってみる。
違いさえ分かればそんなに難しいもんじゃないし、
CakePHP(1.1系より1.2系の方がもっと良い)を知ってれば、Rails自体はめちゃんこ似てるので、
そんなに苦にならないだろう。


RubyPHPより柔軟性があり、もうちょっと深い記述(意味いろいろw)ができるので、
ネイティブなRubyプログラマと同じ言葉で話せるようになるのがこのエントリの目的。
1回でまとめようとは思ってないので、とりあえず今日はさわりだけ。

言語基本編

RubyはPHP5同様オブジェクト指向言語なので、
オブジェクト指向の知識は必須です。
PHPとは違い、Rubyオブジェクト指向はしっかりしているので、
ある程度よく理解してないと痛い目みます。
特に、PHPでは4の流れでpublic、private等を使用しない書き方をしてる人も多いので、
PHP5で導入された概念には目を通しておきましょう。

と言っても、基本的に計算の書き方なんかはPHPと同じです。
ここでつまづくことはないでしょう。
違うのは変数の頭が$で始まらないことくらいでしょう。
$がつくとRubyでは違う意味(グローバル変数)になってしまうので注意です。

コレクション編

配列とハッシュ(連想配列)の説明です。
配列は、[]で括って表します。
a = [1,2,3]
もちろん、
b = [1. "a", 3.14]
のように、それぞれの型が違っても問題ないです。
アクセスは、
a[0]でOK。

ハッシュは、
c = {
:one => 1,
:two => 2,
}
という感じ。
PHPだと、
$c = array("one"=>1, "two"=>2);
と同義です。
アクセスは、
c[:one]です。:がつくのがRubyPHPの違いですかね。

基本構文編

構文はwhileとifくらいしかありません。
あと後ででてくる、ブロックとイテレータをしっかり押さえてください。
Rubyではwhile,ifを使うより、ブロックとイテレータを使う場面が非常に多いです。+非常に便利です。

if文

if 条件式
#処理
elsif 条件
#処理
else
#処理
end

while文

while 条件
end

Rubyではどのような構文であれ、終わりはendです。


とりあえず、今日はここまで。