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

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

        Ты в любом случае не зависишь. А вообще о том, что в новой версии ты оставляешь за собой право добавить еще 100500 параметров, нужно предупреждать :)
          Фигасе вы тут веселитесь, MyNameIsIgor прокачали до 3-его лвла :facepalm: ... Ну даете :D

          Добавлено
          Вы с такими темпами скоро сами себя начнете банить :D

          Добавлено
          Я понял! Это JavaScript программисты провоцируют С++ программистов на мат, а потом им банки дают! Я раскусил ваш коварный план, негодяи :ph34r:
            Цитата KILLER @
            Фигасе вы тут веселитесь, MyNameIsIgor прокачали до 3-его лвла :facepalm: ... Ну даете :D
            Он сам прокачался... причем уложился в 2 страницы...
              Цитата fatalist @
              А в первом случае можно быть уверенным, что ничего не отвалится и я не завишу от другого прогера...

              А если прогер решит, что раз в обработчик ничего не передается, то можно в этом качестве использовать уже существующую функцию, которая принимает какой-то параметр?
              Т.к. в первоначальной версии обработчик вызывается без параметров, то в такую функцию придет undefined и все будет работать... А потом мы начинаем вызывать обработчик с параметром и в эту функцию приходит цвет, хотя она ждет, например, размер :) Весело...
                Цитата D_KEY @
                А вообще о том, что в новой версии ты оставляешь за собой право добавить еще 100500 параметров, нужно предупреждать :)
                Я всегда оставляю за собой это право, много аргументов не бывает... бывает только недостаточно ;)
                  Цитата fatalist @
                  Он сам прокачался...

                  Это достаточно спорное утверждение...
                  Но к сути разговора отношения не имеет.

                  Добавлено
                  Цитата fatalist @
                  Я всегда оставляю за собой это право, много аргументов не бывает... бывает только недостаточно ;)

                  А разработчик, являющийся твоим клиентом об этом знает(см. выше)?
                    Цитата D_KEY @
                    А разработчик, являющийся твоим клиентом об этом знает(см. выше)?
                    Ну если честно для "клиентов" я обычно оставляю методы по другой схеме...
                      Цитата fatalist @
                      Цитата D_KEY @
                      А разработчик, являющийся твоим клиентом об этом знает(см. выше)?
                      Ну если честно для "клиентов" я обычно оставляю методы по другой схеме...

                      Ты специально держишь интригу или твоя схема является государственной/коммерческой тайной?
                        вкратце я делаю так
                        ExpandedWrap disabled
                          {
                              ...
                              onCellClick : function (nRow, nCell) { return true; }
                          }

                        А прогер уже просто берет и
                        ExpandedWrap disabled
                          grid.onCellClick = function(row, cell) {
                              alert('Cell ['+ row + ', '+ cell + '] has been clicked');
                          }

                        а если не хочет, не использует их...

                        Добавлено
                        Цитата D_KEY @
                        Ты специально держишь интригу или твоя схема является государственной/коммерческой тайной?
                        Очень хотелось сходить покурить... а потом начальница тут ходила инструкции раздавала :))
                          Цитата D_KEY @
                          korvin, ты тут вроде был, не пропадай, скажи как не теряя информации о типе работать с произвольным количеством параметров функции?

                          Я же говорил, что произвольные параметры не нужны. У статически собранного списка вся информация о типе каждого аргумента может быть сохранена.
                          ExpandedWrap disabled
                            type List {α : Type, β : Type} = Cons α (List β) | (Nil : ())

                          т.о. тип
                          ExpandedWrap disabled
                            list = Cons 1 $ Cons "two" $ Cons False Nil

                          будет
                          ExpandedWrap disabled
                            list : List (Nat, String, Bool)

                          соответственно объявляем например
                          ExpandedWrap disabled
                            instance List {∀α <: Show} <: Show
                                show : List α → ()
                                show  Nil        =  ()
                                show (Cons x xs) =  do
                                    show x
                                    show xs
                                end
                            end

                          и при подстановке show list компилятор может преобразовать вызов в просто последовательность вызовов show для каждого элемента списка, разобрав предварительно этот список на элементы, фактически это даже можно сделать во время компиляции и в итоге получим просто
                          ExpandedWrap disabled
                            show 1
                            show "two"
                            show False
                            korvin, покажи аналог моего кода, пожалуйста.
                              Цитата D_KEY @
                              А в строгом случае все будет зависеть от того, как сторонний прогер написал свой обработчик.
                              Если у него там указан прием произвольного количества аргументов, то будет точно так же, как ты описал.
                              Если же он прямо передаст в качестве обработчика функцию, не принимающую аргументов(если он так сделал, значит хотел контроля ;) ), то отвалится.
                              Что требуем, то и получаем.

                              Ну и зачем мне все твои "если", когда у меня прекрасно работает без всяких условностей? :-? То, что у меня есть сейчас удобнее.

                              Цитата D_KEY @
                              А если прогер решит, что раз в обработчик ничего не передается, то можно в этом качестве использовать уже существующую функцию, которая принимает какой-то параметр?
                              Т.к. в первоначальной версии обработчик вызывается без параметров, то в такую функцию придет undefined и все будет работать... А потом мы начинаем вызывать обработчик с параметром и в эту функцию приходит цвет, хотя она ждет, например, размер :) Весело...

                              Если... решит... А если он решит микроскопом гвоздь заколотить, то потом будет удивляться почему микроскоп не работает, и придет к выводу, что что-то с микроскопом не так?

                              Цитата D_KEY @
                              А разработчик, являющийся твоим клиентом об этом знает(см. выше)?

                              Сейчас ему и не надо.

                              Добавлено
                              Цитата fatalist @
                              вкратце я делаю так

                              При таком способе некуда впихнуть действия которые по клику хочешь сделать ты сам :)
                                Цитата Астарот @
                                При таком способе некуда впихнуть действия которые по клику хочешь сделать ты сам :)
                                Почему? Я же этот метод непосредственно из onclick ячейки вызываю, там же дефолтные действия при клике на ячейке...

                                Добавлено
                                Цитата fatalist @
                                Почему? Я же этот метод непосредственно из onclick ячейки вызываю, там же дефолтные действия при клике на ячейке...
                                или чтобы не загромождать обработчик самой ячейки делаю какой-нибудь метод cellClick (для внутреннего пользования ессно)... Его еще можно будет пользовать при необходимости сэмулировать клик на ячейке (без самого клика)...
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (66) « Первая ... 43 44 [45] 46 47 ...  65 66


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