На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (245) « Первая ... 9 10 [11] 12 13 ...  244 245  ( Перейти к последнему сообщению )  
> Есть ли будущее у DELPHI?
    Цитата
    ну хорошо, помечает на удаление, если быть уж совсем дотошным.

    Ничего он не помечает, ау, окстись :)

    Добавлено
    А в продолжение нужно вспомнить тот мешок травы, который надо выкурить, что бы понять bing1nd, bind2nd и т.п.
      Бобёр, т.е. на мои слова возражений так и не последует? :)
      То, что вы воспринимаете алгоритмы STL как работающие с контейнерами, а не с диапазонами, в минус только вам, а не STL :)

      Добавлено
      Вообще в плюсах и в STL в частности много место, где ответственность спихивается на программиста: ежели чего, то ты ССЗБ. Но право же, вы выбрали далеко не показательный пример :)
        Ненене, я то уже давно выкурил тот самый мешок травы, у меня к STL-ю претензий нету, если что :)
        нужно просто чётко понимать цели и задачи, ну и немного понимать алгоритмику, что бы вкурить, почему у std::list есть свой sort, а у std::vector - нету, ну и т.д.
        Ну или почему std::map["kakaka"] всегда что нибудь возвращает :)
        Сообщение отредактировано: Бобёр -
          Цитата Бобёр @
          А в продолжение нужно вспомнить тот мешок травы, который надо выкурить, что бы понять bing1nd, bind2nd и т.п.

          Они вроде как deprecated теперь, ибо std::bind.
            Цитата Бобёр @
            Ну или почему std::map["kakaka"] всегда что нибудь возвращает

            Между прочим, не всегда :) Это раз.
            Это очень удобно и за отсутствие подобного я пинал дженерики и дотнетовский Dictionary. Это два :)
              Цитата MyNameIsIgor @
              Это очень удобно и за отсутствие подобного я пинал дженерики и дотнетовский Dictionary. Это два :)

              Мне в этом смысле нравится python:
              ExpandedWrap disabled
                x = dic["kakaka"] # error
                dic["kakaka"] = 10 # ok


              Про ruby наврал, а мне казалось, что там так же :-?
              Сообщение отредактировано: D_KEY -
                Цитата D_KEY @
                Мне в этом смысле нравится python/ruby

                Эммм... Я слишком плохо их знаю, не в курсе как там это реализовано.
                Да и тоже не айс, кстати :) Я тогда приводил пример с подсчётом слов. Исходя из него, мне бы хотелось, чтобы обращение по отсутствующему ключу мне вернуло ноль.
                Самым крутым вариантом было бы, если
                ExpandedWrap disabled
                  x = dic["kakaka"] # ok

                но в словаре элемент с данным ключом не создавался.
                  Цитата Бобёр @
                  Ничего он не помечает, ау, окстись :)

                  Если говорить языком пользователя, то как раз таки помечает, если лезть в конкретные реализации, то переносит в конец, потом это все удаляется с помощью функции erase. да только дело не в этом. Я не понял в чем фишка?
                    Цитата MyNameIsIgor @
                    Цитата D_KEY @
                    Мне в этом смысле нравится python/ruby

                    Эммм... Я слишком плохо их знаю, не в курсе как там это реализовано.
                    Да и тоже не айс, кстати :) Я тогда приводил пример с подсчётом слов. Исходя из него, мне бы хотелось, чтобы обращение по отсутствующему ключу мне вернуло ноль.
                    Самым крутым вариантом было бы, если
                    ExpandedWrap disabled
                      x = dic["kakaka"] # ok

                    но в словаре элемент с данным ключом не создавался.

                    Я там выше написал, про ruby наврал. Там как раз, как ты хочешь, если элемента нет - вернет nil, а присваивание сработает.
                    А реализовано просто - есть оператор индексирования([]), а есть оператор изменения элемента([]=).
                      Цитата D_KEY @
                      Там как раз, как ты хочешь, если элемента нет - вернет nil, а присваивание сработает.

                      Ну, nil не то :) Но в динамически типизированном по-иному никак.
                      Цитата D_KEY @
                      А реализовано просто - есть оператор индексирования([]), а есть оператор изменения элемента([]=).

                      Для Ruby фишку с = на конце метода знаю. А вот как в Python'е сделали - не помню...
                        Цитата KILLER @
                        Если говорить языком пользователя, то как раз таки помечает, если лезть в конкретные реализации, то переносит в конец

                        Он их никак не помечает(с точки зрения контейнера), а именно что переносит(порядок не гарантируется). Причем это не "конкретные реализации", а требование стандарта. Если ты не сделаешь erase перенесенные элементы так и останутся валидными(для контейнера).

                        Добавлено
                        Цитата MyNameIsIgor @
                        Цитата D_KEY @
                        Там как раз, как ты хочешь, если элемента нет - вернет nil, а присваивание сработает.

                        Ну, nil не то :) Но в динамически типизированном по-иному никак.

                        Погоди, а как же ты хочешь в статике? x'у присвоить объект, сконструированный по умолчанию?

                        Цитата
                        Цитата D_KEY @
                        А реализовано просто - есть оператор индексирования([]), а есть оператор изменения элемента([]=).

                        Для Ruby фишку с = на конце метода знаю. А вот как в Python'е сделали - не помню...

                        __getitem__ и __setitem__ :)
                          Цитата D_KEY @
                          Погоди, а как же ты хочешь в статике? x'у присвоить объект, сконструированный по умолчанию?

                          Да, именно. Но в словаре элемент не создавать.
                            Цитата MyNameIsIgor @
                            Цитата D_KEY @
                            Погоди, а как же ты хочешь в статике? x'у присвоить объект, сконструированный по умолчанию?

                            Да, именно. Но в словаре элемент не создавать.

                            А чем тебе не нравится исключение? Мне кажется это логично, когда пытаемся получить объект, которого нет. А так в питоне у dict есть отдельный метод get(), который вернет или None или второй параметр метода, не создавая элемент:
                            ExpandedWrap disabled
                              a = {}
                              print(a["aaa"]) # error
                              print(a.get("aaa")) # None
                              print(a.get("aaa", 10)) # 10
                              a["aaa"] = 11 # {'aaa': 11}
                            Сообщение отредактировано: D_KEY -
                              Цитата D_KEY @
                              А чем тебе не нравится исключение?

                              Ну, так ведёт себя дотнетовский Dictionary. Похабно он себя ведёт, для меня он очень неудобный. Приходится делать два поиска вместо одного.
                              Цитата D_KEY @
                              Мне кажется это логично, когда пытаемся получить объект, которого нет.

                              Не так. Я пытаюсь у словаря узнать, есть ли у него значение по данному ключу. А вот обращение к объекту, которого нет - это рубиновый nil :yes:

                              Добавлено
                              Цитата D_KEY @
                              А так в питоне у dict есть отдельный метод get(), который вернет или None или второй параметр метода, не создавая элемент:

                              Угу, динамика же. В плюсах мы тип-значение указываем. Вот и пускай конструирует. Ну, можно такой get сделать на случай отсутствия конструктора по умолчанию. Но оператор [] - это же сокращение записи. Вот пусть и имеет некое "поведение с предположениями".
                              Сообщение отредактировано: MyNameIsIgor -
                                Цитата MyNameIsIgor @
                                Цитата D_KEY @
                                А чем тебе не нравится исключение?

                                Ну, так ведёт себя дотнетовский Dictionary. Похабно он себя ведёт, для меня он очень неудобный. Приходится делать два поиска вместо одного.

                                Так get() же :)

                                Цитата
                                Не так. Я путаюсь у словаря узнать, есть ли у него значение по данному ключу. А вот обращение к объекту, которого нет - это рубиновый nil :yes:

                                Ну может руби и прав, но у питон предоставляет и то, и другое ;)
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (245) « Первая ... 9 10 [11] 12 13 ...  244 245


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0523 ]   [ 15 queries used ]   [ Generated: 18.07.25, 23:25 GMT ]