Есть ли будущее у DELPHI?
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.43] |
|
|
Правила раздела:
| Страницы: (245) « Первая ... 9 10 [11] 12 13 ... 244 245 ( Перейти к последнему сообщению ) |
Есть ли будущее у DELPHI?
|
Сообщ.
#151
,
|
|
|
|
Цитата ну хорошо, помечает на удаление, если быть уж совсем дотошным. Ничего он не помечает, ау, окстись Добавлено А в продолжение нужно вспомнить тот мешок травы, который надо выкурить, что бы понять bing1nd, bind2nd и т.п. |
|
Сообщ.
#152
,
|
|
|
|
Бобёр, т.е. на мои слова возражений так и не последует?
![]() То, что вы воспринимаете алгоритмы STL как работающие с контейнерами, а не с диапазонами, в минус только вам, а не STL Добавлено Вообще в плюсах и в STL в частности много место, где ответственность спихивается на программиста: ежели чего, то ты ССЗБ. Но право же, вы выбрали далеко не показательный пример |
|
Сообщ.
#153
,
|
|
|
|
Ненене, я то уже давно выкурил тот самый мешок травы, у меня к STL-ю претензий нету, если что
![]() нужно просто чётко понимать цели и задачи, ну и немного понимать алгоритмику, что бы вкурить, почему у std::list есть свой sort, а у std::vector - нету, ну и т.д. Ну или почему std::map["kakaka"] всегда что нибудь возвращает |
|
Сообщ.
#154
,
|
|
|
|
Цитата Бобёр @ А в продолжение нужно вспомнить тот мешок травы, который надо выкурить, что бы понять bing1nd, bind2nd и т.п. Они вроде как deprecated теперь, ибо std::bind. |
|
Сообщ.
#155
,
|
|
|
|
Цитата Бобёр @ Ну или почему std::map["kakaka"] всегда что нибудь возвращает Между прочим, не всегда Это раз.Это очень удобно и за отсутствие подобного я пинал дженерики и дотнетовский Dictionary. Это два |
|
Сообщ.
#156
,
|
|
|
|
Цитата MyNameIsIgor @ Это очень удобно и за отсутствие подобного я пинал дженерики и дотнетовский Dictionary. Это два ![]() Мне в этом смысле нравится python: ![]() ![]() x = dic["kakaka"] # error dic["kakaka"] = 10 # ok Про ruby наврал, а мне казалось, что там так же |
|
Сообщ.
#157
,
|
|
|
|
Цитата D_KEY @ Мне в этом смысле нравится python/ruby Эммм... Я слишком плохо их знаю, не в курсе как там это реализовано. Да и тоже не айс, кстати Я тогда приводил пример с подсчётом слов. Исходя из него, мне бы хотелось, чтобы обращение по отсутствующему ключу мне вернуло ноль.Самым крутым вариантом было бы, если ![]() ![]() x = dic["kakaka"] # ok но в словаре элемент с данным ключом не создавался. |
|
Сообщ.
#158
,
|
|
|
|
Цитата Бобёр @ Ничего он не помечает, ау, окстись Если говорить языком пользователя, то как раз таки помечает, если лезть в конкретные реализации, то переносит в конец, потом это все удаляется с помощью функции erase. да только дело не в этом. Я не понял в чем фишка? |
|
Сообщ.
#159
,
|
|
|
|
Цитата MyNameIsIgor @ Цитата D_KEY @ Мне в этом смысле нравится python/ruby Эммм... Я слишком плохо их знаю, не в курсе как там это реализовано. Да и тоже не айс, кстати Я тогда приводил пример с подсчётом слов. Исходя из него, мне бы хотелось, чтобы обращение по отсутствующему ключу мне вернуло ноль.Самым крутым вариантом было бы, если ![]() ![]() x = dic["kakaka"] # ok но в словаре элемент с данным ключом не создавался. Я там выше написал, про ruby наврал. Там как раз, как ты хочешь, если элемента нет - вернет nil, а присваивание сработает. А реализовано просто - есть оператор индексирования([]), а есть оператор изменения элемента([]=). |
|
Сообщ.
#160
,
|
|
|
|
Цитата D_KEY @ Там как раз, как ты хочешь, если элемента нет - вернет nil, а присваивание сработает. Ну, nil не то Но в динамически типизированном по-иному никак.Цитата D_KEY @ А реализовано просто - есть оператор индексирования([]), а есть оператор изменения элемента([]=). Для Ruby фишку с = на конце метода знаю. А вот как в Python'е сделали - не помню... |
|
Сообщ.
#161
,
|
|
|
|
Цитата KILLER @ Если говорить языком пользователя, то как раз таки помечает, если лезть в конкретные реализации, то переносит в конец Он их никак не помечает(с точки зрения контейнера), а именно что переносит(порядок не гарантируется). Причем это не "конкретные реализации", а требование стандарта. Если ты не сделаешь erase перенесенные элементы так и останутся валидными(для контейнера). Добавлено Цитата MyNameIsIgor @ Цитата D_KEY @ Там как раз, как ты хочешь, если элемента нет - вернет nil, а присваивание сработает. Ну, nil не то Но в динамически типизированном по-иному никак.Погоди, а как же ты хочешь в статике? x'у присвоить объект, сконструированный по умолчанию? Цитата Цитата D_KEY @ А реализовано просто - есть оператор индексирования([]), а есть оператор изменения элемента([]=). Для Ruby фишку с = на конце метода знаю. А вот как в Python'е сделали - не помню... __getitem__ и __setitem__ |
|
Сообщ.
#162
,
|
|
|
|
Цитата D_KEY @ Погоди, а как же ты хочешь в статике? x'у присвоить объект, сконструированный по умолчанию? Да, именно. Но в словаре элемент не создавать. |
|
Сообщ.
#163
,
|
|
|
|
Цитата MyNameIsIgor @ Цитата D_KEY @ Погоди, а как же ты хочешь в статике? x'у присвоить объект, сконструированный по умолчанию? Да, именно. Но в словаре элемент не создавать. А чем тебе не нравится исключение? Мне кажется это логично, когда пытаемся получить объект, которого нет. А так в питоне у dict есть отдельный метод get(), который вернет или None или второй параметр метода, не создавая элемент: ![]() ![]() a = {} print(a["aaa"]) # error print(a.get("aaa")) # None print(a.get("aaa", 10)) # 10 a["aaa"] = 11 # {'aaa': 11} |
|
Сообщ.
#164
,
|
|
|
|
Цитата D_KEY @ А чем тебе не нравится исключение? Ну, так ведёт себя дотнетовский Dictionary. Похабно он себя ведёт, для меня он очень неудобный. Приходится делать два поиска вместо одного. Цитата D_KEY @ Мне кажется это логично, когда пытаемся получить объект, которого нет. Не так. Я пытаюсь у словаря узнать, есть ли у него значение по данному ключу. А вот обращение к объекту, которого нет - это рубиновый nil Добавлено Цитата D_KEY @ А так в питоне у dict есть отдельный метод get(), который вернет или None или второй параметр метода, не создавая элемент: Угу, динамика же. В плюсах мы тип-значение указываем. Вот и пускай конструирует. Ну, можно такой get сделать на случай отсутствия конструктора по умолчанию. Но оператор [] - это же сокращение записи. Вот пусть и имеет некое "поведение с предположениями". |
|
Сообщ.
#165
,
|
|
|
|
Цитата MyNameIsIgor @ Цитата D_KEY @ А чем тебе не нравится исключение? Ну, так ведёт себя дотнетовский Dictionary. Похабно он себя ведёт, для меня он очень неудобный. Приходится делать два поиска вместо одного. Так get() же Цитата Не так. Я путаюсь у словаря узнать, есть ли у него значение по данному ключу. А вот обращение к объекту, которого нет - это рубиновый nil ![]() Ну может руби и прав, но у питон предоставляет и то, и другое |