Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > tie OOP |
Автор: gcc 26.2.2009, 22:06 |
можете подсказать зачем использовать в OOP tie? в книге "рецепты для профессионалов 3 издание" про это не написано было, точнее для бд примеры... но не понятно где именно преимущество... вот нашел это не плохое http://search.cpan.org/~milan/OOP-1.01/lib/OOP.pm мне понравился пример с хэш-хеши-функций про tie я не нашел http://www.google.com/search?hl=uk&q=oop+tie+perl&btnG=%D0%9F%D0%BE%D1%88%D1%83%D0%BA&meta= |
Автор: gcc 3.3.2009, 00:44 |
можно подсказку? ключевые слова? |
Автор: sir_nuf_nuf 3.3.2009, 00:51 |
вообщем почти что нафиг не нужны. tie - это расширения, что бы можно было решать более сложные задачи, не выходя за рамки обычно синтаксиса. |
Автор: gcc 3.3.2009, 01:04 |
может быть оно еще быстро работает? обращается к переменным? в книге было написнао что хэши медленно работают чем массивы в ООП... хочется увидеть маленькие примеры, в книге я не увидел.. (может не понял) есть переменная $tie, что произойдет если ее "привязать"? |
Автор: sir_nuf_nuf 3.3.2009, 02:47 |
gcc, просто прочитайте про tie в кэмел-буке. быстрее точно не будет. А по поводу того, что доступ к хэшу не самый быстрый.. ну вы сначала упритесь в это ограничение а потом оптимизируйте. сэкономите время |
Автор: gcc 3.3.2009, 12:53 | ||||
что это такое? sir_nuf_nuf, в книге "Рецепты для профессионалов" 2 и 3 издание, есть примеры рабоыт с базой данных в файле, и там не написано какой формат файла (не понятно зачем вообще это), то есть просто про БД файл... про применения в ООП ни где нету в интернете я не нашел про это ничего...
спасибо, понял, знаю... мне скорость не нужна |
Автор: sir_nuf_nuf 3.3.2009, 16:03 |
Вообще странная мода учить Perl по примерам, хотя вы не первый кто ей следует. Tie - это возможность расширить возможности стандартных конструкций языка (%@*$) своим кодом (который обычно предствален в виде объектов, но это не имеет значения) ООП - это идеология согласно которой любой интерфес представляет собой набор Классов. Т.е. доступ ко всему происходит по средством создания объектов и вызова методов. В ООП вообще ничего не говорится про внутрениие структуры языка, соответвенно и про tie. Другой вопрос - это реализация ООП в Perl - собственно говоря она сводится к 3 вещам: 1) объект - это blessed reference 2) при объектном вызове (->) эта ссылка передается в процедуру первым аргументом 3) ну и наследование. Сами объекты вы можете реализовывать как вам угодно. Но поскольку вам дана полная свобода выбора как хранить данные и как к ним обращаться, то вы можете использовать что угодно, хоть например tie. |
Автор: gcc 3.3.2009, 19:36 |
sir_nuf_nuf, спасибо... а примеры можно с tie? я не вижу приемущества... |
Автор: gcc 4.3.2009, 15:29 | ||||||||
вот например есть
что такое $_[0][0]{$_[1]} = $_[2] ? в чем разница если я сделаю так, например:
|