[Ruby][PHP]PHP使いから見たRuby - HelloWorldから分かる8つのこと
このエントリは、「[Ruby][PHP]PHP使いから見たRuby - 先ずはHelloWorldしてみる」の続きです。
HelloWorldから分かる8つのこと、行ってみよー。
2. HelloWorldから分かること
2-1. コンパイル不要
2-1-1. PHP
・インタプリタ言語(実行時に自動的にコンパイルされる言語)なので、
意識的にコンパイルする必要はない
・但し、敢えて事前にコンパイルすることで速度を上げる方法もある
2-1-2. Ruby
・PHPと同じインタプリタ言語なので、こちらもコンパイルは不要
・コンパイルの手間や時間は節約できるが、エラーの原因が探しにくい
・パフォーマンスが悪い面もある
2-2. クラスは作成しなくても良い
2-2-1. PHP
・PHP4までは基本的に手続き型の言語、クラスは作らなくても良い
・PHP5以降はオブジェクト指向言語のように書くことも出来る
2-2-2. Ruby
・RubyはPHPと異なり、オブジェクト指向型の言語
・でもクラスは作らなくても良く、手続き型のように書くことも出来る
2-3. 標準出力はputs
2-3-1. PHP
・PHPの標準出力は「echo」や「print」
・echoとprintの細かい違いについては「[PHP]echoとprintの違いを再確認」を参照
2-3-2. Ruby
・Rubyの標準出力は「puts」や「print」
・putsとprintの細かい違いについては、「[Ruby]putsとprintの挙動の違いを確かめてみる」を参照
2-4. 文字列は「'」か「"」で囲む
2-4-1. PHP
・文字列は「'」で囲っても「"」で囲っても構わない
・「'」で囲うと式の展開が行われないなどの違いがある
・この辺りの詳細は「[PHP]文字列内の変数の括り」を参照
2-4-2. Ruby
・文字列は「'」で囲っても「"」で囲っても構わない
・「'」で囲うと式展開が行われない点など、PHPと感覚はほぼ同じ
・式展開を行いたい場合は、「"」で文字列全体を囲み、式展開したい箇所を「#{ }」で囲む
2-5. 式ごとの「;」は不要
2-5-1. PHP
・式の終わりごとに「;」が必要
・書かないとどこが式の終わりだか分からなくなったPHPに
「Parse error: parse error, unexpected ...」などと怒られる
・「;」で区切られていれば、「$a = 1; $b = 2;」のように1行で書いても問題ない
・「?>」直前の最後の行だけは、「;」がなくても大丈夫
2-5-2. Ruby
・PHPとは異なり、式ごとの「;」は不要
・「;」の代わりに「改行」がその式の終わりを示す
2-6. ファイル名は自由
2-6-1. PHP
・ファイル名は自由、拡張子は.php
2-6-2. Ruby
・ファイル名は自由、拡張子は.rb
2-7. 開始と終了の宣言はない
2-7-1. PHP
・最初と最後を「<?php ?>」で囲う
2-7-2. Ruby
・ファイルの最初から最後までがソースなので、特に何かで囲う必要はない
・もしくは「__END__」という行を読み込んだ時点で終了となるので、
その次の行以降に何か別のことを書いても構わない
2-8. 実行コマンドはruby
2-8-1. PHP
・phpコマンドで、引数にファイル名を与えてやれば実行できる
2-8-2. Ruby
・rubyコマンドで、引数にファイル名を与えてやれば実行できる
比較しながら書くって難しいな、でもこうして書くことで新しい発見もある。
なので、また次のエントリに続きます。
HelloWorldから分かる8つのこと、行ってみよー。
2. HelloWorldから分かること
2-1. コンパイル不要
2-1-1. PHP
・インタプリタ言語(実行時に自動的にコンパイルされる言語)なので、
意識的にコンパイルする必要はない
・但し、敢えて事前にコンパイルすることで速度を上げる方法もある
2-1-2. Ruby
・PHPと同じインタプリタ言語なので、こちらもコンパイルは不要
・コンパイルの手間や時間は節約できるが、エラーの原因が探しにくい
・パフォーマンスが悪い面もある
2-2. クラスは作成しなくても良い
2-2-1. PHP
・PHP4までは基本的に手続き型の言語、クラスは作らなくても良い
・PHP5以降はオブジェクト指向言語のように書くことも出来る
2-2-2. Ruby
・RubyはPHPと異なり、オブジェクト指向型の言語
・でもクラスは作らなくても良く、手続き型のように書くことも出来る
2-3. 標準出力はputs
2-3-1. PHP
・PHPの標準出力は「echo」や「print」
・echoとprintの細かい違いについては「[PHP]echoとprintの違いを再確認」を参照
2-3-2. Ruby
・Rubyの標準出力は「puts」や「print」
・putsとprintの細かい違いについては、「[Ruby]putsとprintの挙動の違いを確かめてみる」を参照
2-4. 文字列は「'」か「"」で囲む
2-4-1. PHP
・文字列は「'」で囲っても「"」で囲っても構わない
・「'」で囲うと式の展開が行われないなどの違いがある
・この辺りの詳細は「[PHP]文字列内の変数の括り」を参照
2-4-2. Ruby
・文字列は「'」で囲っても「"」で囲っても構わない
・「'」で囲うと式展開が行われない点など、PHPと感覚はほぼ同じ
・式展開を行いたい場合は、「"」で文字列全体を囲み、式展開したい箇所を「#{ }」で囲む
2-5. 式ごとの「;」は不要
2-5-1. PHP
・式の終わりごとに「;」が必要
・書かないとどこが式の終わりだか分からなくなったPHPに
「Parse error: parse error, unexpected ...」などと怒られる
・「;」で区切られていれば、「$a = 1; $b = 2;」のように1行で書いても問題ない
・「?>」直前の最後の行だけは、「;」がなくても大丈夫
2-5-2. Ruby
・PHPとは異なり、式ごとの「;」は不要
・「;」の代わりに「改行」がその式の終わりを示す
2-6. ファイル名は自由
2-6-1. PHP
・ファイル名は自由、拡張子は.php
2-6-2. Ruby
・ファイル名は自由、拡張子は.rb
2-7. 開始と終了の宣言はない
2-7-1. PHP
・最初と最後を「<?php ?>」で囲う
2-7-2. Ruby
・ファイルの最初から最後までがソースなので、特に何かで囲う必要はない
・もしくは「__END__」という行を読み込んだ時点で終了となるので、
その次の行以降に何か別のことを書いても構わない
2-8. 実行コマンドはruby
2-8-1. PHP
・phpコマンドで、引数にファイル名を与えてやれば実行できる
2-8-2. Ruby
・rubyコマンドで、引数にファイル名を与えてやれば実行できる
比較しながら書くって難しいな、でもこうして書くことで新しい発見もある。
なので、また次のエントリに続きます。
