読者です 読者をやめる 読者になる 読者になる

破棄されたブログ

このブログは破棄されました。

To Ruby From PHP を翻訳しました。

天邪鬼なぼくが重い腰を上げて Ruby を始めるにあたって、参考になったドキュメントが ruby-lang.org にあったのですが、日本語版の記事がなかったため、翻訳しました。
誤訳・苦情等はコメントまでお願いします。

GitHub にレポジトリがありますが、/ja/documentation/ruby-from-other-languages/ が存在しません。
そこで、管理者に連絡を取ろうと思ったのですが、代表者がわかりませんでした。
とりあえずブログにポストしますが、レポジトリに取り込んでいただけるのであれば幸いです。

PHP から Ruby へ (To Ruby From PHP)

PHP は Web アプリケーションで広く使われていますが、Ruby on Rails やその他一般的な用途においても、 Ruby は価値のあるものになるでしょう。

類似点

PHP でも、Ruby でも

  • RubyPHP と同じく動的型付け言語ですから、変数宣言について心配することはありません。
  • PHP5 と同じく class があり、アクセスをコントロールすることもできます。(public, protected, private)
  • 全てではありませんが、いくつかの変数は PHP のように $ から始まります。
  • eval もあります。
  • 文字列内で変数展開をすることができます。PHP での "$foo is a $bar" は、Ruby では "${foo} is a #{bar}" となります。これはシングルコーテーションで括られた文字列には適用されません。
  • ヒアドキュメントがあります。
  • PHP5 と同様に例外があります。
  • 大きな標準ライブラリがあります。
  • 配列やハッシュも予想通り動作するでしょう。Ruby では array() の代わりに { と } を使います。array('a' => 'b') は {'a' => 'b'} となります。
  • true や false も PHP と同様に振舞います。ただし null は nil と呼ばれます。

差異点

PHP とは違い Ruby では

  • Ruby は強い型付け言語です。string や integer など各型変換には、言語に自動的に行わせるのではなく、自身で to_s や to_i を呼び出す必要があります。
  • 文字列・数字・配列・ハッシュなどはオブジェクトです。例えば、abs(-1) とする代わりに、-1.abs とします。
  • メソッド呼び出し時の括弧は任意です。ただし、メソッド呼び出すのに引数をカリー化する場合を除きます。
  • ライブラリや拡張は、アンダースコア (_) を用いた命名規則ではなく、モジュールやクラスでまとめられています。
  • リフレクションはオブジェクトの継承します。PHP5 のように Reflection クラスを用いる必要はありません。
  • 変数はリファレンスです。
  • 抽象クラス (abstract classes) やインタフェース (interfaces) はありません。
  • ハッシュと配列とは可換ではありません。
  • false と nil のみが否と評価され、0 や array(), "" などはすべて正と評価されます。
  • ほとんどすべてがメソッド呼び出しです。これには PHP での throw にあたる raise も含みます。
To Ruby From PHP
広告を非表示にする