На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (66) « Первая ... 20 21 [22] 23 24 ...  65 66  ( Перейти к последнему сообщению )  
> JS и его "недостатки"
    Цитата D_KEY @
    А подробнее?

    Это очередной костыль, чтобы иметь нечто подобное перегрузке по количеству параметров. Хотя такая перегрузка удобна, почему нельзя было сделать это цивильно - всё такая же грибная тайна.
      Цитата D_KEY @
      Цитата OpenGL @
      Цитата D_KEY @
      args[-1]

      Хм. То есть индексы считаются по модулю количества параметров?

      Точнее - количества элементов контейнера :)

      На самом деле все-таки лучше думать об этом, как об индексах с конца последовательности, ибо указать неверный индекс питон тебе не даст, потому индексы, строго говоря, не по модулю количества элементов считаются.
        Цитата fatalist @
        Примеры неоднозначных состояний?

        undefined - как с английского переводится? :)
          Цитата D_KEY @
          Извини за питон:

          ExpandedWrap disabled
            function f()
            {
                console.log('arguments num: '+ arguments.length);
                if (arguments.length) {
                    console.log('first: '+ arguments[0]);
                    console.log('last: '+ arguments[arguments.length-1]);
                }
            }
            f();
            f(1, 2, 3);
            f(1, 2, 3, 4, 5);

          ExpandedWrap disabled
            arguments num: 0
            arguments num: 3
            first: 1
            last: 3
            arguments num: 5
            first: 1
            last: 5


          D_KEY, в чем суть примера?

          Добавлено
          Цитата Мяут-Настоящий @
          undefined - как с английского переводится? :)
          "неопределенный", что из этого следует? Где неоднозначность?
            Цитата D_KEY @
            Извини за питон:

            Извинил и даже не стал глядеть - объясни словами, а?
              Цитата Астарот @
              Извинил и даже не стал глядеть - объясни словами, а?
              Я тоже самое привел, только тоже не знаю, что он этим хотел сказать...
                Цитата fatalist @
                только тоже не знаю, что он этим хотел сказать...

                Мне начинает казаться, что он решил, будто нам интересно "как там в питоне" :D Если это так, то я русским по белому говорю - мне не интересно.
                  Цитата fatalist @
                  D_KEY, в чем суть примера?

                  Суть примера в том, что такой механизм работы с аргуметами избавляет язык от разрешения на вызов функции не с теми параметрами, на которые она была рассчитана:
                  ExpandedWrap disabled
                    def f(x):
                        return x + x

                  ExpandedWrap disabled
                    >>> f()
                    Traceback (most recent call last):
                      File "<stdin>", line 1, in <module>
                    TypeError: f() takes exactly 1 positional argument (0 given)


                  В этом случае и undefined не нужен.
                  Сообщение отредактировано: D_KEY -
                    Цитата Астарот @
                    Если это так, то я русским по белому говорю - мне не интересно.

                    Скажи с чем сравнивать js? А если не хочешь сравнивать, то ответь в чем тогда заключается холивар и каков смысл твоего в нем участия?
                      Цитата D_KEY @
                      Суть примера в том, что такой механизм работы с аргуметами избавляет язык от разрешения на вызов функции не с теми параметрами, на которая она была рассчитана

                      Может я чего не понял, но как по мне весь твой механизм сводится к тому, что ты можешь вычислить количество аргументов вызова функции :)

                      Добавлено
                      Цитата D_KEY @
                      Скажи с чем сравнивать js?

                      Ты его волен сравнивать с чем твоей душе угодно, я-то тут при чем?

                      Цитата D_KEY @
                      А если не хочешь сравнивать, то ответь в чем тогда заключается холивар и каков смысл твоего в нем участия?

                      Название темы видишь? JS и его "недостатки". Даже забыв о том, что это название давал модер разделивший тема все равно довольно сложно найти там слово "сравнение". Я готов обсудить недостатки js, но совершенно не готов сравнивать его с какими-то чуждыми мне языками. Нравятся другие языки? Работай на них, зачем тебе js.
                        Цитата Астарот @
                        Может я чего не понял, но как по мне весь твой механизм сводится к тому, что ты можешь вычислить количество аргументов вызова функции :)

                        Нет, я могу сказать, что моя функция принимает произвольное число аргументов и в этом случае аргументы будут мне поданы в виде кортежа. Это покрывает твой пример на тему того, что разные клиенты(браузеры) по разному работают с функцией.

                        Добавлено
                        Цитата Астарот @
                        Я готов обсудить недостатки js, но совершенно не готов сравнивать его с какими-то чуждыми мне языками.

                        А научишь обсуждать недостатки чего-либо, не сравнивая это с чем-то аналогичным, но лишенным этих самых недостатков?
                          Если что - я не считаю js идеалом, и вполне признаю, что в других языках дофига прикольных плюшек :rolleyes:

                          Добавлено
                          Цитата D_KEY @

                          Нет, я могу сказать, что моя функция принимает произвольное число аргументов и в этом случае аргументы будут мне поданы в виде кортежа. Это покрывает твой пример на тему того, что разные клиенты(браузеры) по разному работают с функцией.

                          И что нам это дает? В js тоже так можно http://javascript.ru/arguments

                          Добавлено
                          Цитата D_KEY @
                          А научишь обсуждать недостатки чего-либо, не сравнивая это с чем-то аналогичным, но лишенным этих самых недостатков?

                          Еще раз повторяю - ты можешь сравнивать с чем тебе угодно, хоть с руби, хоть с питоном. Я ни того ни другого не знаю, поэтому все твои портянки кода буду просто пропускать, как не интересные. Видишь недостаток - покажи псевдокодом, бумем обсуждать недостаток, а не реализацию в питоне/руби/хрензнаетчем.
                            Астарот, если без питона, то хотел бы ты, чтобы javascript бил по рукам за то, что ты вызываешь фукнкцию с неправильным числом аргументов, а для произвольного их числа имелся специальный синтаксис(например ...):
                            ExpandedWrap disabled
                              function f(... arguments)
                              {
                                  console.log('arguments num: '+ arguments.length);
                                  if (arguments.length) {
                                      console.log('first: '+ arguments[0]);
                                      console.log('last: '+ arguments[arguments.length-1]);
                                  }
                              }
                              f();
                              f(1, 2, 3);
                              f(1, 2, 3, 4, 5);


                            ExpandedWrap disabled
                              arguments num: 0
                              arguments num: 3
                              first: 1
                              last: 3
                              arguments num: 5
                              first: 1
                              last: 5

                            ?
                              Цитата fatalist @
                              "неопределенный", что из этого следует? Где неоднозначность?

                              Ну дак неопределенности порождают неоднозначности :)
                                Цитата D_KEY @
                                Астарот, если без питона, то хотел бы ты, чтобы javascript бил по рукам за то, что ты вызываешь фукнкцию с неправильным числом аргументов, а для произвольного их числа имелся специальный синтаксис(например ...):

                                Ну и нахрена, спрашивается в задачнике, нужно ДВА синтаксиса для одной и той же задачи? :wacko: js тебе позволяет вообще делать так:
                                ExpandedWrap disabled
                                  function f()
                                  {
                                  ...
                                  }
                                   
                                  f(1, 2, 3, "haba-haba");

                                и уже в теле функции хоть на голове стой.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (66) « Первая ... 20 21 [22] 23 24 ...  65 66


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.1291 ]   [ 15 queries used ]   [ Generated: 25.08.26, 11:44 GMT ]