Форум: "Прочее";
Текущий архив: 2009.04.26;
Скачать: [xml.tar.bz2];
ВнизНдааааа.... Найти похожие ветки
← →
qqq (2009-01-22 17:08) [40]
> выпускают обновления, где не исправлены все известные баги,
> что вкорне не правильно.
пытаются побыстрее залепить особо зияющие дыры, а остальные потом, отдельно
кстати, где можно качнуть обновления, чтоб не просило код регистрации?
← →
Добежал (2009-01-22 17:34) [41]
> А TList<integer> - это объявление строго типизированного
> списка для элементов типа integer
ну какой-то новый синтаксис, в D7 такого нету ;)
А какую информацию для экземпляра класса несет такое объявление?
И куда эта информация передается, в конструктор?
Я бы честно понял если бы просто:List := TList<integer>.Create
Но вот какой смысл в объявленииvar list: TList<integer>
?
Нельзя объявить обычный:var list: TList
а уж при создании указать как надо:list := TList<integer>.Create
?
← →
MBo © (2009-01-22 18:16) [42]>Добежал (22.01.09 17:34) [41]
>Нельзя объявить обычный: var list: TList
нет, это совсем разные классы, интерфейс совпадает лишь частично.\
По уму стоило бы новый назвать TGenericList или как-то так.
← →
Добежал (2009-01-22 18:42) [43]
> По уму стоило бы новый назвать TGenericList
блин. я в общем понял что ничего не понимаю... А где толково кратко почитать про введение в дженерики, желательно на русском?
← →
MBo © (2009-01-22 18:50) [44]на английском
http://sjrd.developpez.com/delphi/tutoriel/generics/
а на русском проще найти описание дотнетовских дженериков, достаточно близко
← →
Григорьев Антон © (2009-01-22 19:27) [45]
> Добежал (22.01.09 18:42) [43]
> А где толково
> кратко почитать про введение в дженерики, желательно на
> русском?
http://dn.codegear.com/article/39076 - это Кэнту пишет. Естественно, не на русском.
← →
Добежал (2009-01-22 19:49) [46]спасибо
← →
мимо (2009-01-23 00:17) [47]Ну что блин за мода - старые вещи новыми именами обзывать и преподносить как невероятное достижение. Всю жизнь это шаблонами было. Какие нафиг дженерики? Равно как и делегаты всю жизнь событиями считались.
← →
Pavia © (2009-01-23 00:53) [48]
> Равно как и делегаты всю жизнь событиями считались.
Ты путаешь. Делегаты это процедурный класс. А сабытия на них строяться потому что сылку на метод обработчика события передают через переменную. Которая имеет тип метода. В дельфи такии типы были уже давно, а тут блин еще придумали ананимные методы хотя разницы почти никакой, но она есть.
← →
31512 © (2009-01-23 09:01) [49]
> Добежал (22.01.09 18:42) [43]
Начни отсюда http://www.rsdn.ru/article/dotnet/generics.xml?print
А потом можно раскрутить в сторону Delphi.
← →
Григорьев Антон © (2009-01-23 10:18) [50]
> мимо (23.01.09 00:17) [47]
Нет, обобщения (дженерики) - это не совсем шаблоны C++. У шаблонов больше возможностей и меньше ограничений по сравнению с обобщениями. Из-за этого обобщения считаются более безопасными.
Делегаты - это тоже не совсем процедурный тип, делегаты ещё и мульткаст поддерживают, это более высокоуровневые средства.
А по поводу сабжа ветки - есть слухи, что ошибка исправлена в третьем апдейте, который сейчас проходит бета-тестирование. Но я пока не знаю точно, так ли это.
← →
vuk © (2009-01-23 11:34) [51]В QC репорт в состоянии Open. Хотя, честно говоря, исправление одной ошибки вряд ли сильно повлияет на юзабельность дженериков... Там проблем гораздо больше. А всё сразу вряд ли поправят.
← →
Jack128_ (2009-01-23 11:49) [52]
> По уму стоило бы новый назвать TGenericList или как-то так.
зачем?? Никаких конфликтов из за идентичности имен тут быть не может, так зачем вводить префикс Generic, когда и так ясно, что он generic ??
← →
pasha_golub © (2009-01-23 11:57) [53]А как по мне так лучше было бы так:
List: T<Integer>List;
oblList: T<TmyObject>List;
Читаемость однако.
← →
test (2009-01-23 12:01) [54]pasha_golub © (23.01.09 11:57) [53]
+100
Более привычный вариант записи Java.
← →
pasha_golub © (2009-01-23 12:03) [55]
> test (23.01.09 12:01) [54]
> Более привычный вариант записи Java.
>
Мне не важно. Все таки прилагательное в английском впереди стоять должно.
← →
vuk © (2009-01-23 12:41) [56]А вот мне понятнее именно так как есть. У функций, вот, тоже аргументы тоже после наименования идут, а не в середине.
← →
pasha_golub © (2009-01-23 12:57) [57]
> vuk © (23.01.09 12:41) [56]
> У функций, вот, тоже аргументы тоже после наименования идут,
> а не в середине.
Ну тут как бы из математики пример. Ничего страшного. Хотя вот допустим такое было бы тоже нормально:
List: TList(Integer);
В принципе, думаю, можно было бы такое замутить, шобы парсер не спотыкался.
← →
vuk © (2009-01-23 13:36) [58]to pasha_golub © (23.01.09 12:57) [57]:
>Хотя вот допустим такое было бы тоже нормально:
>List: TList(Integer);
То есть тебя смущают треугольные скобки?
← →
Sha © (2009-01-23 13:47) [59]меня дико смущают, так можно и дальше пойти без остановок:
в новых конструкциях начать использовать обратные апострофы,
тильды всякие, - ведь это ж какой шаг вперед будет!!!
← →
ketmar © (2009-01-23 14:05) [60]>[57] pasha_golub © (2009-01-23 12:57:00)
>Хотя вот допустим такое было бы тоже нормально:
>
>List: TList(Integer);
TList of Integer.
%-)
---
Understanding is not required. Only obedience.
← →
pasha_golub © (2009-01-23 14:06) [61]
> vuk © (23.01.09 13:36) [58]
> То есть тебя смущают треугольные скобки?
Если честно, то да. :) Оно как мне сразу XML"ом отдает. И аж передергивает мну.
← →
pasha_golub © (2009-01-23 14:08) [62]
> ketmar © (23.01.09 14:05) [60]
> TList of Integer.
> %-)
Тоже, кстати, шикарно. :) Или
TList for Integer;
← →
vuk © (2009-01-23 14:39) [63]Зато треугольные скобки очень хорошо визуально отличаются от круглых и сразу видно, где параметр дженерика, а где обычный параметр. Проблема ведь не в том, что парсеру трудно (он железный, пусть работает), а в том, что люди по времени читают исходники больше, чем парсеры.
TList of и TList for идут фтопку, как только параметров будет больше одного. Да и вообще, видимо стоит задуматься, что дженерики не только на контейнерные классы годятся.
← →
ketmar © (2009-01-23 15:14) [64]>[63] vuk © (2009-01-23 14:39:00)
>TList of и TList for идут фтопку, как только параметров будет больше одного.
why? TMap of String, Integer;
---
Do what thou wilt shall be the whole of the Law.
← →
Jack128_ (2009-01-23 15:18) [65]Я уже представлю себе как прекрасно будет читаться код в круглыми скобками:
TMyObj1(TMyObj2(Integer).Func)(1); Лисп нервно курит в сторонке..
← →
ketmar © (2009-01-23 15:23) [66]>[65] Jack128_ (2009-01-23 15:18:00)
а запретить. определяй дополнительный тип через type и пиши потом его.
и, кстати, в свете вышесказанного: хочу область видимости для type хотя бы с «разрешением функция». а то и «кодовый блок». и для переменных тоже.
---
All Your Base Are Belong to Us
← →
ketmar © (2009-01-23 15:24) [67]>[65] Jack128_ (2009-01-23 15:18:00)
TMyObj1<TMyObj2<Integer>.Func>(1)
не вижу, чем это страшнее скобок.
---
All Your Base Are Belong to Us
← →
vuk © (2009-01-23 15:28) [68]to ketmar © (23.01.09 15:14) [64]:
Особо готишно будет смотреться приведение к такому типу а также определение его методофф. :D
← →
Jack128_ (2009-01-23 15:57) [69]
> >[65] Jack128_ (2009-01-23 15:18:00)
> TMyObj1<TMyObj2<Integer>.Func>(1)
>
> не вижу, чем это страшнее скобок.
да хотя бы в этом примере - с круглыми скобками ошибка не очевидна, а с угловыми четко видно, дженерик-параметры - могут только типами, а никак не результатом фукнции..
← →
ketmar © (2009-01-23 16:22) [70]>[69] Jack128_ (2009-01-23 15:57:00)
лично мне чётко очевидно только одно: кого-то в этом коде укусил страуструп.
---
All Your Base Are Belong to Us
← →
vuk © (2009-01-23 22:05) [71]Не трожь птичку! Оно и так мертвое!
Ты учти, что с предложенными "альтернативными" вариантами кусаться начнут те, кому это юзать.
← →
ketmar © (2009-01-24 04:37) [72]>[71] vuk © (2009-01-23 22:05:00)
>Ты учти, что с предложенными "альтернативными" вариантами кусаться начнут те,
>кому это юзать.
а это уже не мои проблемы. я всё равно сейчас на цэ пишу. %-)
---
Understanding is not required. Only obedience.
← →
Fantas (2009-01-27 19:16) [73]
> Если честно, то да. :) Оно как мне сразу XML"ом отдает.
> И аж передергивает мну.
Это с непривычки. Как привыкнешь, так действительно так удобно - сразу видно параметрезированный тип, как тут уже раньше сказали. Читать так удобнее (и писать).
← →
ketmar © (2009-01-27 20:11) [74]>[73] Fantas (2009-01-27 19:16:00)
>Как привыкнешь, так действительно так удобно — сразу видно параметрезированный
>тип
а мы для этого используем редакторы с нормальной подсветкой синтаксиса…
---
Understanding is not required. Only obedience.
← →
vuk © (2009-01-27 20:15) [75]Если синтаксис фигово читается без подсветки, то такой синтаксис - фиговый. IMHO
← →
ketmar © (2009-01-27 20:45) [76]>[75] vuk © (2009-01-27 20:15:00)
паскаль фтопку, си фтопку, ещё кучу языков фтопку. нормально без подсветки читается только modula/oberon, имо.
---
Understanding is not required. Only obedience.
← →
Eraser © (2009-01-27 20:54) [77]> [76] ketmar © (27.01.09 20:45)
ассемблер тоже нормально без подсветки.
по-поводу скобок - это лучшее решение, дело в том, что кодегиру, помимо того, чтобы сохранить своих текущих клиентов нужно еще и привлекать новых. человеку, который всю жизнь привык к шаблонам и дженерикам, оформленным с пом. скобок будет крайне сложно привыкнуть к какому-нибудь другому синтаксису, тем более что данная языковая фитча далеко не интуитивно-понятна, особенно новичкам.
← →
ketmar © (2009-01-28 01:53) [78]>[77] Eraser © (2009-01-27 20:54:00)
покажи мне плюсанутого, добровольно перешедшего на Delphi. а если насильно — хоть ты ему кучу всякой фигни насуй, всё равно недоволен будет.
---
Do what thou wilt shall be the whole of the Law.
← →
Игорь Шевченко © (2009-01-28 01:56) [79]ketmar © (28.01.09 01:53) [78]
Все у тебя какие-то крайности. Какая нахрен разница, на чем писать - на чем удобней, на том и пишется, может, того, хватит священные пожары раздувать ?
← →
ketmar © (2009-01-28 02:01) [80]>[79] Игорь Шевченко © (2009-01-28 01:56:00)
я, вообще-то, намекаю на то, откуда расползается ублюдочный синтаксис с угловыми скобками. и почему аргумент «так привычней» — ерунда.
---
Understanding is not required. Only obedience.
Страницы: 1 2 3 вся ветка
Форум: "Прочее";
Текущий архив: 2009.04.26;
Скачать: [xml.tar.bz2];
Память: 0.61 MB
Время: 0.01 c