Лол, я программирование на php вспоминаю как страшный сон.
Начнем: RoR ох#нно продукоментирован.
http://api.rubyonrails.org/ Если этого мало, то идем на github и читаем код там
https://github.com/rails/rails
Есть масса туториалов, и масса скринкастов!
http://railscasts.com/
А вы какую IDE используете?
Передача параметров в методы имеет несколько вариантов, только недавно появилась возможность указывать параметры по умолчанию. Интерфейсов и тайпхинтинг соответственное отсутствуют.
вот это гон. Всего один способ передачи функций, и счего вы взяли, что их несколько, возможно это как раз тот самый синтаксические сахр, например:
[RUBY]
method 1 #передаем интеджер в параметры.
method {:a => 1} #передаем хэш в параметры.
method :a => 1 #т.к. при передаче хэша в параметры метода можно опустить скобки, возможно это было принято за другой способ.
method { #действие } #передаем _один_ блок кода в параметры (ламбда).
method { |v| #действие } #блок с запущенной в него переменной из метода, похоже на foreach.
method 1, :a => 1 { #действие } #все вместе.
[/RUBY]
методами или переопределить в любом месте
Это невероятно крутая штука, но помоему это возможно и во многих других языках в т.ч. java c#: пишешь собственные методы, используешь существующие. Можно запросить список существующих методов в классе, публичных и приватных, констант и пр! Короче есть инструменты для анализа класса. Метапрограммирование это круто. Например от класса A наследуются B и C, я хочу добавить в них некий одинаковый функционал, соответственно я помещаю его в A, а не создаю еще D и E.
Суть ruby это простой ООП язык, не отягощенный типизацией, main функциями и пр. Допускает метапрограммирование. Он на столько прост, что программа может выглядеть вовсе не как ООП, не в пример java и c#.
Простой пример, совсем недавно поручили ковырять сайт, о котором я ничего не знал. Оказалось он написан на руби. Мы за 5 минут добавили нового пользователя в админку. Другой пример, это сайт написанный на пхп, в его типичной велосипедной парадигме, где хер найдешь вход, с этим сайтом куда сложнее. Да, на пхп можно писать красиво (в теории), да, на рельсах можно писать плохо (и этот сайт как раз так и написан), но даже в очень плохо написанном рельсовом приложении можно ориентироваться специалисту по рельсам. Так о какой непредсказуемости вообще идет речь..
пс
я тут вообще раздел по руби хотел предложить открыть.