- Примечания к “переводу”
- I. Введение
- II. Повседневное использование на примере TList<T>
- III. Создание обобщённого класса.
- IV. Создание обобщённой записи
- V. Ограничения обобщённых типов
- VI. Использование в качестве параметра более чем одного типа
- VII. Другие типы дженериков
- VIII. Обобщённые методы
- IX. RTTI и дженерики
- Завершающее слово и ссылка на скачивание исходников (не переведено).
II. Повседневное использование на примере TList<T>
- II-A. Простой код, для начала
- II-B. Присвоения между обобщёнными классами
- II-C. Методы TList<T>
- II-D. TList<T> и компараторы
III. Создание обобщённого класса.
- III-A. Декларация класса.
- III-B. Реализация метода.
- III-C. Псевдо-процедура Default.
- III-D. Процедурные ссылки и обход дерева.
- III-E. И остальное.
- III-F. Как использовать TTreeNode<T> ?
IV. Создание обобщённой записи
V. Ограничения обобщенных типов
- V-A. Какие ограничения можно использовать?
- V-B. Зачем нужны ограничения?
- V-C. Вариант с конструктором
VI. Использование в качестве параметра более чем одного типа
- VIII-A. Обобщённая функция Min
- VIII-B. Перегрузка операторов и ограничения
- VIII-C. Некоторые дополнения для TList<T>
- IX-A. Изменения в псевдо-процедуре TypeInfo
- IX-A-1. Более общая функция TypeInfo
- IX-B. Есть ли RTTI у обобщённых типов?
Послесловие и ссылка на скачивание исходников (не переведено).
Спасибо!
ОтветитьУдалитьБольшое спасибо, было бы неплохо если бы был оффлайн вариант в виде PDF или CHM :)
ОтветитьУдалить+1 make действительно неплохо бы
ОтветитьУдалитьЯ извиняюсь, а можно это как то скачать одним htm файлом?, я просто на e-ink читаю подобное. да и сохранить хотелось бы..
ОтветитьУдалитьНу или просто одним файлом (или страницей), формат не важен.
ОтветитьУдалить"Завершающе" - опечатка ;-)
ОтветитьУдалитьAndrew Tishkin, спасибо, исправил.
ОтветитьУдалитьСпасибо! Дженерики как раз то чего мне нехватало :)
ОтветитьУдалитьСпасибо за инфу, и за удобное представление!
ОтветитьУдалить"Всѐ понятно? Это просто чудесно, учитывая, что я не дал ни единого пояснения. Это лишний раз
доказывает, что дженерики это также просто как пирог :-). (примечание переводочника: не знаю почему
автор считает что пирог – это просто. Я как-то пробовал испечь один, и скажу честно -
программирование намного проще)"
Комментарий конечно веселый, но лучше убрать, т.к.:
(as) easy as pie
very easy You make everything sound as easy as pie, George.
Usage notes: also used in the forms (as) easy as 1-2-3 or (as) easy as A, B, C (very easy to understand) and (as) easy as falling off a log (very easy to do)
http://idioms.thefreedictionary.com/easy+as+pie
(от себя: эта идиома - аналог piece a cake, которую некоторые переводчики фильмов переводят дословно, что порождает бурю веселья у знающих людей :) )
Также неплохо бы исправить многочисленное употребление слова "перезагрузка" - Матрица, конечно, рулит, но в данном случае устоявшийся термин всё-таки перегрузка.
Fr0sT
Fr0sT, спасибо за замечания.
ОтветитьУдалитьЯ посчитал, что могу себе позволить, вставить эту небольшую шутку, специально оставив дословный перевод этой идиомы. В конце концов, смысл статьи от этого не меняется.
К тому, же, имхо, стилистически этот перевод слишком далёк от совершенства, чтобы эта небольшая шалость могла его испортить ещё больше.
К тому же, правка каждого отдельного поста, включая проверки того, что форматирование не слетело займёт слишком много времени.
ОтветитьУдалитьАлексей, дело хозяйское, конечно. Хотя не знаю, что может быть сложного в замене одного слова на другое и почему должно слететь форматирование.
ОтветитьУдалитьFr0sT
Fr0sT, время, время.
ОтветитьУдалитьА форматирование может слететь, из-за большого количества исходников содржащих угловые скобки, и подсветки синтаксиса. Раньше слетало регулярно. Счас, вроде проще.
Пройтись по всем постам, чтобы найти все упоминания этого слова. Открыть для редактирования нужный пост, скопировать в блокнот. Найти нужный фрагмент, заменить. Вставить назад. Сохранить. И внимательно проверить, что исходники не похерились.
Впрочем, заменил-таки. И даже вспомнил, почему не использовал термин "перегрузка". С ним текст воспринимался как Космическая одиссея, а не инструкция по обобщениям.
Одно название главы: "Перегрузки и ограничения" чего стоит. :)
Алексей, спасибо, что все-таки исправил :) с переводом технической терминологии всегда беда, поэтому приходится юзать устоявшиеся варианты, даже если они не очень нравятся (взять хотя бы пресловутый thread = поток; неправильно и создает путаницу со stream, но прижилось ведь, и попробуй скажи "нить").
ОтветитьУдалитьЕще момент по ограничениям. В статье сказано, что можно накладывать ограничение простого типа - ordinal и float, однако нигде нет примера, как это можно сделать. TMyClass, TMyClass дают ошибку. Беглое загугливание ничего не даёт по этому вопросу. В справке тоже никакого упоминания
Constraint items include:
*Zero, one, or multiple interface types
*Zero or one class type
*The reserved word "constructor", "class", or "record"
Судя по всему, автор недоглядел или выдал желаемое за действительное.
угловые скобки скушались, проверим квадратные...
ОтветитьУдалитьTMyClass[ T: Ordinal ] и TMyClass [ T: float ]
Большое спасибо!
ОтветитьУдалить