Перехід на Ruby з PHP
PHP широко використовується для вебзастосунків, але якщо ви хочете використовувати Ruby on Rails або просто мову, більш придатну для загального використання, Ruby варто розглянути.
Подібності
Як і в PHP, у Ruby…
- Ruby має динамічну типізацію, як і PHP, тож вам не потрібно турбуватися про оголошення змінних.
- Є класи, і ви можете керувати доступом до них, як у PHP 5
(
public,protected,private). - Деякі змінні починаються з $, як у PHP (але не всі).
- Є
eval. - Можна використовувати інтерполяцію рядків. Замість
"$foo is a $bar"можна написати"#{foo} is a #{bar}"— як і в PHP, це не застосовується до рядків у одинарних лапках. - Є heredoc-и.
- Ruby має винятки, як PHP 5.
- Досить велика стандартна бібліотека.
- Масиви та hash працюють очікувано, якщо замінити
array()на{і}:array('a' => 'b')стає{'a' => 'b'}. trueіfalseповодяться як у PHP, алеnullназиваєтьсяnil.
Відмінності
На відміну від PHP, у Ruby…
- Строга типізація. Вам потрібно викликати
to_s,to_iтощо, щоб перетворювати рядки, числа і т. ін., замість того щоб покладатися на автоматичні перетворення мови. - Рядки, числа, масиви, hash тощо — об’єкти. Замість abs(-1) —
-1.abs. - Дужки у викликах методів необов’язкові, окрім випадків, коли потрібно уточнити, які параметри належать якому виклику.
- Стандартна бібліотека та розширення організовані в модулях і класах.
- Reflection — вбудована можливість об’єктів; не потрібно використовувати
класи
Reflection, як у PHP 5. - Змінні — це посилання.
- Немає
abstractкласів абоinterface-ів. - Hash і масиви не взаємозамінні.
- Лише
falseіnil— хибні:0,array()і""— істинні в умовах. - Майже все є викликом методу, навіть
raise(throwу PHP).