weregod
unserializer
обсуждаетсяпхп нет аналогов миксинов
но, в конечном счёте, может оказаться больше вреда, чем пользы
обсуждаетсяпхп нет аналогов миксинов
Скорее всего так и нужно было делать, просто более опытный ruby программист не совсем понимал зачем нужены такие сложности с каким-то абстрактным классом, который задаёт единый интерфейс.в /lib складываешь все. Возможно нужно было использовать модуль
Все верно, A<B, поправил, пардон (а запятая там вместо знака перевода строки).Ноябрь
я, извиняюсь, но твой код вообще рабочий? super - это прородитель метода, аналог parent::a. Но так как В не наследует A, то почему срабатывает метод A::a - ?
и запятая (B.new.a #a,b) взялась не пойми откуда?
Есть довольно крупные пректы написанные на рубиGasвопрос только в том, как писать на таком подходе, чтобы потом можно было поддерживать.
это максимум недели две работы одному разработчику, очень простой проект
class A {
function a() {
echo "a\n";
}
}
class B extends A {
function a() {
parent::a();
echo "b\n";
}
}
Шутки шутишь?) я имею ввиду все открытые руби проекты на этом сайте, хотя скорее всего ты понял..Ноябрь
это максимум недели две работы одному разработчику, очень простой проект
Вообще это наследование..Gas
он имел ввиду просто наследование и обращение к родительскому методу, обозвав его метапрограммированием.
class A
def a c,d,e,f
puts c,d,e,f
end
end
class B<A
def a *params
super *params
puts 'b'
end
end
B.new.a 1,2,3,4
Вообще нет, я привел вам один пример метапрограммирования до этого. Доказывать.. в сказку попали что ли, сами пробуйте, разбирайтесь. Я считаю, что руби лучше. Лучше во всем. Если меня спросить, я так отвечу. Но я допускаю, что вы можете считать иначе, я даже вас оправдываю в своем сознании). Доказывать я буду если пересечемся на одном проекте, и будем выбирать ruby vs php, а здесь это холивар-развлекуха).Уточните плиз. Я правильно понимаю, что нам тут уже 5 страниц доказывают преимущество Ruby на примере наличия алиаса super() == parent::имя_метода(), гордо именуя сие "метапрограммированием"?
мне кажется за такие бредни просто сразу надо горчичник ставитьв php ... [skipped]... а потому делегирование производится через костыли (но производится!), а потому не стандартизовано, и наверняка считается плохим тоном, т.к. требует дополнительного функционала и усложняет все в целом.
У меня сверху добавляется в очереди "Жалобы" и ссылка на пост.а что дает пимпа пожаловаться
Используют, хотя возможно меньше чем в других языка. Напрмер в команде где я работаю большинство народу использует vim / emacs / TextMateСегодня, то есть вчера, прослушал парочку докладов по руби, даже скорее больше по ROR.
Они не используют IDE, так как это не имеет особого смысла.
Можно, но трудно, т.к. много динамики. Но вроде как в популярных IDE достаточно тольковый автокомплит есть.Реализовать полноценный автокомплит там нельзя.
Параметры по умолчанию в языке были всегда. Вариант передачи параметров в методы - один, но есть некоторое кол-во синтаксического сахара (неявная передача хеша и/или лямбды)Передача параметров в методы имеет несколько вариантов, только недавно появилась возможность указывать параметры по умолчанию.
type hinting отсутсвует, в ruby просто другой подход - используется duck typing. Неважно, какого класса объект передается в метод, важно чтоб в этом обьекте были нужные методы.Интерфейсов и тайпхинтинг соответственное отсутствуют.
Да, можно. Но никто не заставляет делать это постоянно. Эту фича можно использовать, например, чтоб внести небольшой багфикс в сторонную библиотеку, не изменяя исходники этой библиотеки.Класс можно обвесить методами или переопределить в любом месте (здравствуй #define TRUE FALSE).
rdoc активно используется в публичных библиотеках. Фактически это стандарт для документирования публичного кода.Вроде есть rdoc, но не понятно кто и как им пользуется, они против чёрных ящиков и знают свой код!!!!
Немного не понял, что имелось в виду. Для того, чтобы пользоваться библиотекой, нужно сначала изучить доки. Разве в PHP по другому? С доками не всегда все хорошо, есть несколько основных проблем:Синтаксический сахар делает код непредсказуемым, интерфейс можно узнать только из доки/ читать код библиотек по их же уверением - "может это сразу и не очень понятно".
Я тоже не раз видел как переписываются проекы с php на ror, так что это имхо не показатель. На рельсах есть много достаточно больших и активных сайтов.Прочитали доклад по тому как писать API, я бы сам уволился за такой подход, а там этим гордятся. Главное код получается коротким и красивым, а то что библиотекой не сможет пользоваться даже сам разработчик месяца через два - не важно. И это при принципе "явное важнее неявного".
Приятная игрушка для школьника и студента, ну ещё блог написать за 15 минут, не больше. Как осуществлять поддержку такого кода, если его становится вдруг много? Как писать на нём в команде.
Я уже раза три видел, как переписываются проекты с ROR на PHP, кстати DiMA упоминал о том же. Сам даже переписывал небольшую бухгалтерскую системку. Не хотел судить, пока достаточно близко не познакомлюсь с предметом и не поговорю с их разработчиками . Может я что-то пропустил? Или там действительно такой ад, что php-шный говнокод покажется раем?