Обновить
81
Vladimir Chernyshev@VolCh

Software Engineer, Technical Lead

91
Подписчики
Отправить сообщение
В минус ладно, а когда платишь 5 долларов, а снимают 500?
Он не продвинут, а ограничен самим пейпалом как минимум лет 8. Нельзя на российские пейпальные счета принимать оплату с сайтов и переводы. Только пополнение своего счета и оплата на чужих сайтах. так что российский сайт в принципе не может сделать прием оплаты пейпалом, или он уже не будет российским :)
А слабо такие же «капли» по питону писать? ;) А мы бы читали и то, и другое и сравнивали бы :)
Еще пример полиморфизма :)

А вопрос такой есть: как определяется конструктор — по имени initialize или по тому, что он первый описан, или я еще чего-то не доглядел?
Просто думаю многие ничего не знают о руби, кроме того, что написано в «каплях», и не зная, что, например, можно создавать методы вида name= и про аксессоры типа ридеров и райтеров (о чем я узнал из коментов :) ) первый ваш код выглядит каким-то ущербным :) в том смысле, что кажется, что отказавшись от attr_accesor мы теряем возможность писать rex.name = 'rex' и будем вынуждены пользоваться rex.set_name('rex');
Угу, читаем :)
В принципе если бы подумал и попробовал выполнить свой код, то догадался бы :)
Потребляет :) ATX БП потребляют всегда, если от сети не отключены (обычно на задней стенке БП есть выключатель, чтобы шнур не отключать для полного обесточивания)
Ну у меня не составляло и без апачей с мускулами :) Правда на 64-бит c глючным (судя по отзывам) враппером для адобовского флэш-плагина (32-бит) — открываешь штук 30 вкладок с флэшем на пару суток и память течет :(, а флэш сейчас почти везде.

Сейчас перешел на 32-бит, тьфу-тьфу-тьфу таких проблем нет. Правда с моим стилем работы все равно забить можно :) Не люблю приложения (и файлы/вкладки/окна в них) закрывать раньше чем через трое суток неиспользования, такое вот кэширование :)

Вот, спасибо! А только хотел спросить, как реализуется внутренне конструкции a.name и a.name=при использовании attr_acсesor (вернее последняя, с первой-то все понятно), можно ли как-то изменить поведение, например валидацию провести в «сеттере» или же attr_acсesor является аналогом public переменных класса в других языках и способа контроля (простого) в присваивании не существует. А так сразу все понятно стало :)
За конструктор обеими руками «за», особенно раз руби по дефолту позволяет не инициализировать переменные, но вот переменные с присваиванием только в конструкторе как-то не тру, имхо. Больше на константы похожи, чем на переменные :)
А как насчет возможности использовать несколько иерархических (или не очень) структур на выбор или одновременно, да еще с возможностью создавать эти структуры самому в неограниченном (в разумных пределах) количестве? В веб-приложениях это уже почти норма, по крайней мере в админках, в реляционных БД давно уже норма, а вот на самом близком для простого пользователя интерфейсе — десктопах…
Еще не разбирался, но слышал об этом. И никак не пойму, а куда же девается содержимое свопа? Например, гиг мозгов, гиг под своп, забить два гига труда особого не составит. И вот захочу «загибернейтиться», озу выгрузится на своп, а данные из своп куда? :-/
Иерархия вообще, а тем более единственное простое дерево, каковым является обычная структура каталогов и файлов, вообще говоря не универсальный, и не самый лучший (разве что самый простой по реализации, после списка) способ структурирования данных, особенно сложных, так сказать многоатрибутных объектов. Даже возможность привязать несколько деревьев к одному объекту была бы большим шагом вперед. Взгляните на реляционные БД — думаю не ошибусь, что одна из причин их популярности является возможность создавать различные виды связей между объектами (записями) и выборка нужных объектов по этим связям.

Почему-то в рамках веб-сайтов давно считается нормой давать пользователю возможность привязывать его данные к узлам нескольких иерархических и не очень структур (как минимум, категории и теги, а зачастую можно организовывать и свои структуры классификации в неограниченном (в разумных пределах) количестве, делать одни обязательными, а другие нет), а вот на его личном компьютере стандартная возможность по сути одна — файл может являться листом единственного дерева. Путем дополнительных действий современные ОС дают возможность (скорее неудобную, чем удобную) сделать на файл ссылку из другого узла этого же дерева. Всё. Они не дают стандартной возможности описать однозначное расположение моих данных в нескольких «измерениях», только в одном — древовидная структура каталогов. Да, есть возможность присвоить файлу некоторые атрибуты, но список атрибутов ограничен и по этим атрибутам возможен, в лучшем случае, только «плоский» поиск.
шорткатом клавиатурным. например (включая «эникей»)
Точно так, консоль ruby 1.8.7 (irb тоже не выдал предупреждений)

P.S. сейчас вот поковырялся с параметрам. если вызывать ruby -w file.rb то выдает предпреждение
1. возможно даже в зрелых дорогих продуктах еще дальше, чем в только что появившихся «стартапах». Последним, в отличие от первых, не нужно тащить за собой груз обратной совместимости, поддержку армии пользователей (иной раз многомиллионную), которая может и не понять, а зачем собственно изменили то, к чему они привыкли. Я сам часто не понимаю, зачем ту или иную фичу заменили на новую (когда альтернативу предоставили, бог с ними) — иной раз наступает озарение, что «по новому»-то и лучше. и быстрее и удобнее, но часто и не наступает и приходится или ковыряться в настройках включая «старую» функциональность, или пользоваться старыми версиями, или пользоваться новыми в душе матеря девов, ну или уходить к конкурентам)
>Все эти ухищрения значительно повышают производительность «группы профессионалов» и делают их жизнь проще. Все эти системы хорошо продуманы и рациональны.

В том-то и дело, что для профессионалов, четко осознающих недостатки и преимущества разных подходов для разных задач (в существовании «лучшего по все параметрам интерфейса (ОС, оконного менеджера и т. п.) » я не верю) и знающих, что для них важнее, а чем можно пренебречь. Более того на изучение и освоение разных подходов они потратили время (а может и деньги), но это время они инвестировали в свой профессионализм. Имеет ли это смысл для «любителя» под большим-большим вопросом
Это понятно, но не всегда это хорошо, отдавать, например (мой случай), 5% емкости винчестера на функцию. которой я пользуюсь раз в месяц, проще выключить-включить, пускай и терпя некоторые неудобства.
>Возможность иметь несколько классов, содержащих одноименные методы, называется полиморфизм.

Вообще понятие полиморфизма намного шире, главное в нем, по-моему, что возможны следующая операция (псевдокод. как на Ryby написать, вроде еще «не проходили» массивы и итераторы по ним

pets = [new Dog, new Cat]
foreach pets as pet
{
print pet.get_name
}

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность