Змея / Говнокод #26017 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
Building on that example, the new syntax for function definitions would look like:

def name(positional_only_parameters, /, positional_or_keyword_parameters,
         *, keyword_only_parameters):

Therefore the following would be valid function definitions:

def name(p1, p2, /, p_or_kw, *, kw):
def name(p1, p2=None, /, p_or_kw=None, *, kw):
def name(p1, p2=None, /, *, kw):
def name(p1, p2=None, /):
def name(p1, p2, /, p_or_kw):

https://www.python.org/dev/peps/pep-0570

Запостил: 3.14159265 3.14159265, (Updated )

Комментарии (201) RSS

  • Питуль, пока ты тут, скажи свой email для экстренной связи.
    Ответить
  • Это серьёзно?

    Сначала мы вводим в язык именованные аргументы.
    Затем, через N версий чешем затылок и делаем новую синтаксическую питушню чтобы с ними бороться.
    Ответить
    • В перле нет именованнных аргументов
      И в руби тоже можно сказать, что нет

      Импенно потому я за шел, где их тоже нет

      Зато в обжси все аргументы именнованне
      Именно потому я за обжси
      Ответить
      • Ерунду написал.

        Именованные аргументы можно перечислять в произвольном порядке, попробуй так сделать в obj-c.
        Ответить
        • Ерунду написал.

          Именованные аргументы можно перечислять только после неименованных
          Ответить
          • Когда нет мозгов, то можно и покривляться, согласен.
            Ответить
            • Тебе видней, что в таком случае делать.
              Ответить
                • Бомбит от того, шо попытался выебнуться, и обосрался?
                  Ответить
                  • Давай лучше пример сигнатуры функции в obj-c с именованными параметрами, порядок передачи которых в функцию при вызове не имеет значения.

                    Остальные вскукареки оставь для друзей, пожалуйста
                    Ответить
                    • Причем тут порядок, дурачок?
                      На кой хуй ты его вообще сюда принес?

                      Смысл именованных параметров в том, чтоб понимать какой параметр какое значение имеет.
                      Ответить
                      • Предлагаю тебе перестать долбиться в глаза, прочитать первый ответ guest8 в этой ветке и понять, что дурачок твой папа, а в обжективе нет никаких "именованных" параметров.

                        Ты хоть вообще понимаешь разницу между сигнатурой функции и типом данных "словарь"? А то шото не похоже
                        Ответить
                        • Лол, причем тут вообще словарь?

                          Именованные параметры позволяют не писать
                          doAll(true, true, true, false, true, 42);

                          А вместо этого писать
                          doAll(useShovel=true, useHands=true, iq=42);


                          Языки, где такое есть:
                          * Python
                          * ObjC (тут нет НЕ именованных аргументов, в отличие от других)
                          *Kotlin

                          Языки, где такого нет:
                          * Java (но можно эмулировать объектом)
                          * JavaScript (но можно эмулировать объектом)
                          * C (но можно эмулировать структурой)

                          Языки, где такого нет, но почти всегда эмулируется ссылкой на хеш/дикт

                          * Ruby (даже сахар для этого есть)
                          * Perl (частично)


                          Менять порядок указанных аргументов в ObjC действительно нельзя (во всех остальных приведенных тут языках -- можно), но дело-то не в этом
                          Ответить
                            • Именно. Вот пример от M$
                              // Start the child process. 
                                  if( !CreateProcess( NULL,   // No module name (use command line)
                                      argv[1],        // Command line
                                      NULL,           // Process handle not inheritable
                                      NULL,           // Thread handle not inheritable
                                      FALSE,          // Set handle inheritance to FALSE
                                      0,              // No creation flags
                                      NULL,           // Use parent's environment block
                                      NULL,           // Use parent's starting directory 
                                      &si,            // Pointer to STARTUPINFO structure
                                      &pi )           // Pointer to PROCESS_INFORMATION structure
                                  ) 
                                  {
                                      printf( "CreateProcess failed (%d).\n", GetLastError() );
                                      return;
                                  }
                              Ответить
                            • При этом никакой гарантии соответствии комментария реальности нету.
                              Ответить
                                • Через std::embed и __LINE__ походу можно даже что-нибудь типа eval() пильнуть...
                                  Ответить
                                • Можно написать через std::embed компил-тайм статический анализатор, который к тому же сам себя анализирует
                                  Ответить
                          • Просто погугли, что такое kwargs в пистоне и существует ли в ObjC и Свифте перегрузка методов.

                            У тебя почему-то в голове каша из топора и ты думаешь, что сигнатура функции это то же самое, как если функция умеет принять в себя словарь.
                            Ответить
                          • Ну и контрольный выстрел. Вот есть в UIKit'е метод
                            viewWillTransitionToSize:withTransitionCoordinator:
                            Выведешь мне из сигнатуры именованные параметры?
                            Ответить
                            • конечно
                              вот сигнатура
                              - (void)viewWillTransitionToSize:(CGSize)size 
                                     withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator;


                              у нее два параметра
                              size типа CGSize
                              и coordinator типа id<UIViewControllerTransitionCoordinator>
                              Ответить
  • Анскильный питух не осилил сишку и пошёл кушать говнецо. Брось его пока не поздно, питух.
    Ответить
      • "Эффективность любого жита для недоязычков - мусор. Просто для интела этим можно пренебречь, да и производительности от недоязычков никто не ждёт."
        Это?

        Царь перешёл со слова "питух" на "птушник"?

        P.S. Я тебя по овотарке узнал, j123123.
        Ответить
          • Если царь скажет "анскильный питушок", то его сразу спалят 😀
            Ответить
          • Только сейчас дошло, что это "ПТУшник". Какая деформация )))
            Ответить
              • Всегда удивляли люди, снимающее такое на телефон. Ты что, это всё пересматривать потом будешь?
                Ответить
                • Не буду. Конкретно этот отрывок я снял специально, чтобы насрать на «Говнокоде».
                  Ответить
                  • Сразу видно, что ты знаком с продуктами «Борланда».

                    Кстати, я знаю две версии формата BGI. У v2 была сигнатура «pk» (расшифровывалось как Philippe Kahn), у v3 — сигнатура «FBGD» (GD от «graphics driver»). Библиотека для сишки и для крестов понимала только v2, библиотека для трупопаскаля — оба формата.
                    Ответить
        • Вся суть там в удаленных. Например вот:
          /////

          Обдристался и давай блеять херню?

          > Выходит в теме не шаришь, но рассуждаешь с умным видом? Это касается всех твоих сообщений?

          Бездарность, давай попроще. Вот ты бездарное говно с помойки. Имеет ли разницу то, сколько раз ты обмазываешься говном? Нет. Я сказал, что ты в говне - ты в говне. Скулёжь о том, что на самом деле ты в говне 2 раза - ничего не меняет.

          Разбираться - это не значит знать нюансы существования каждого отребья.

          > 10 относится не к 25, а к 23, а вот 12 относиться к 25, если ты понимаешь (сомневаюсь) о чём я.

          Бездарность, тебе уже сообщил - абсолютно неважно сколько там. 23/24/25 - это всё одно и то же. Точно так же как и неважно сколько там. 10 или 12 - это одно и тоже, бездарность тупорылая.

          Мой тезис сообщал, что уровень параллелизма там никакущий. Я это доказал. Теперь ты в говне и начинаешь блеять «ну ты то сказал 10, а в новом то 12» - да это ничего не меняет, огрызок. Я даже там не пытался написать десять - я пытался написать в районе десятка, но написав десяток я даже не ошибся.

          В штеудах так же не 10, но я говорю и примерном равенстве. Это очевидно любому не клоуны из интернета. Хотя даже клоунам это очевидно.
          /////


          ////
          Ну давай, отребье. Формулируй проблемы и доказывай их наличие. Бегом, говно. В целом твоя мотивация очевидно. Бездарная низшая форма жизни при встрече с высшей ломается и начинает отрицать происходящее. Вы всё врети, тебя не существует, ведь я высшая форма жизни. Нет, амёба - ты именно амёба. А «любой здоровый человек» - это просто «бездарный биомусор», которое твоё мусорное псевдосознание переименовало во имя утешения самого себя, убогого.
          ////
          Ответить
          • ////
            > Побежал искать оправдание. Если бы ты читал вики, то ты бы написал 24, а ты написал 25, а 25 это не про симд. Какой хитренький.

            Бездарный биомусор решило меня поймать. Нет, шлюха, меня не интересует сколько там говна. 24 или 25. К тому же, давай опять в говно, шлюха.

            Windows 8 на Эльбрус-8С - отсюда взялись 25, ведь именно оттуда я пришел. Т.е. взял это не я. В говно, мразь.

            > Опять таки, если бы ты читал вики, то ты бы написал 12, а не 10.

            Опять падаль пытается врать. Шлюха, я нигде не писал про какую-то википедию. Я писал что?

            > Уровень параллелизма - там никакующий судя по докам. Все эти маня-25 инструкций - это с учётом симдов. Хотя, вроде как, мы это обсуждали. Т.е. реальный уровень параллелизма - там десяток. Как у бека интела.

            Единственные потуги, где кто-то рассказывать при мне про 25 инструкций/операций было именно в контексте попытки впарить симды. Это зафиксировано. Сколько там этого говна 24 или 25 - меня волновать не должно.

            Откуда взялись 25 - я сообщил. То, что такие попытки были я доказал путём цитирования википедии. Я нигде не говорил, шлюха, что я ссылался на неё когда говорил о 25/десятке. Это лишь пример подсчёта с симдами.

            Я сказал про 10, ты мне высрал десять. То что там где-то стало 12 - это ничего не меняет. 12 эквивалентно 10 - это нисколько.

            >В теме никто не писал про 25, ты первый. Не надо юлить. Узбагойся.

            В говно, мразь. Рыдать.
            ///
            Ответить
      • >Допустим, интел как циск попросту не может быть нормальных суперскаляром


        фейл же


        интел давно уже риск под капотом
        Ответить
        • Протокол загрузки микрокода и RISC-инструкции документированы?
          Ответить
            • Значит, ты не сможешь привести реальный пример, как на «Интеле» использовать RISC-инструкции из своей программы напрямую?
              Ответить
              • Икарус, что с тобой?

                Интеловский декодер превращает твою высокоуровневую питушню на языке ISA (всякие пуши и попы) в микрокоды, работающие с резервными станциями и прочими Томасулами, ты пытаешься это оспорить?
                Ответить
                • Нет.

                  Начиная с P6, можно считать, что ты пользуешься эмулятором CISC-процессора. Так?

                  А теперь попробуем найти пример ещё какого-нибудь эмулятора. Вот, например, ты запустил эмулятор «Спектрума». Эмулятор превращает инструкции Z80 в микрокоды сниппеты, написанные в опкодах «Интела». Спектрумовской игрушке доступны только опкоды Z80, о железном процессоре она ничего не знает. Всё верно?
                  Ответить
                  • Все верно, но причем тут высер про невозможность суперскалярности?

                    Вспомни нетбёрст в пэ четыре, этоже просто пиздец какой суперскаляр, каждый чих и пук делался отдельно, конвеер был из дцати шагов
                    Ответить
                    • Да, тезис про невозможность суперскалярности не подтверждён.

                      Тут вообще придётся определить кучу терминов, перед тем, как начинать спор.

                      Что такое суперскалярность? Наивное определение: возможность выполнять операции с чем-то, что сложнее скаляра.

                      В архитектуре VLIW всё понятно, там программист может явно указать, что нужно параллельно выполнить несколько разных вычислений. Например, «Итаниум» позволял явно указать три операции с разными источниками данных.

                      У x86 сложнее. Во-первых, есть скрытый суперскаляр, недоступный напрямую программисту: это линии конвейера U и V на первых «Пентиумах», которые работали параллельно, и их развитие в последующих архитектурах. Во-вторых, есть открытый суперскаляр — это SIMD. Да, Царь скажет, что SIMD — это костыль, ибо только данных много, а операция одна.

                      Почему в воображении Царя именно RISC связан с суперскаляром, моим очам не видно. RISC и CISC — это по сути всего лишь формат инструкций.

                      Может быть, Царь путает RISC и VLIW?

                      Кстати, почему «Core» / «Core 2» основаны не на «Нетбёрсте», а на других принципах?
                      Ответить
                      • > Царь путает

                        Скорее всего ты птушник анскильный
                        Ответить
                      • Ассалям-алейкум, брат!

                        Флин (мир ему) и его таксономия учит нас, что есть четыре стула:

                        SISD
                        SIMD
                        MISD
                        MIMD

                        Кажется, что любой (кроме первово) из них можно назвать суперскалярным, так как обрабатывается более одного скаляра одновременно (ну или какое-то множесто данных).

                        Интел стал называть себя суперскаляром во времена P6, когда внутренняя архитектура перешла на RISC, и именно это позвлило одновременно выполнять микрокоманды в параллель.

                        Полноценных SIMD тогда еще не было.


                        Нетбёрст обосрался (емнип) по причине выских требований к питанию и (соответственно) высокой выделяемой мощности. Гиганский конвеер работал на безумных (3Ghz) скоростях часто вообще вхолостую (с перманентно обсырающимся бранч предикшеном).

                        Алзо, программисты осилили параллельность, и увеличенне числа ядер оказаось более верным способом для поднятия перформанса, чем гонка гигагерц.
                        Ответить
                      • Красиво. Даже «Турбо Вижн» портировали. Только тормозит. Тормозит открытие диалоговых окон, даже курсор тормозит. Сразу видно, что написано на «Java».
                        Ответить
                        • попробуй сделать хип в 16гигабайт, должно стать шустрее
                          Ответить
                          • Джаватормозит же.

                            Кто помнит, чем bp отличался от tp?
                            Ответить
                            • Я вот думаю, что быстрее, Java или JavaScript? По идее JavaScript медленнее, он же «Script».
                              Ответить
                              • Конечно! Он же компилируется при каждой загрузке, а Java уже скомпилирована в байткод.
                                Ответить
                                • Groovy можно загружать в рантнайме, но она тоже прежде компилируется (просто комлпириованные файлы никуда не сохраняются).

                                  Кстати, компилируется и JS под виртуальную машину V8, а потом еще и джитися (впрочем, как и Java)
                                  Ответить
                                  • String text = "class Bar { static def foo(x) {x*.toUpperCase().toArray()}}";
                                    Class<?> clz = new GroovyClassLoader(Foo.class.getClassLoader()).parseClass(text);
                                    Object args1 = new String[]{"a", "b"};
                                    Object[] as = (Object[]) clz.getMethod("foo", Object.class).invoke(null, args1);
                                            for (Object a : as) {
                                                System.out.println(a);
                                            }


                                    зацените интероп, кстати
                                    Ответить
                                  • JS сейчас уже во всех движках (не только в V8) компилируется в байткод, а в некоторых ещё и джитится, только этот байткод не стандартизирован (в отличие от байткода для JVM, например).

                                    Проблема в том, что этот байткод никуда не сохраняется. Это каждый петух знает.
                                    Ответить
                                    • Вообще в каких языках ничего не компилируется?
                                      shell script? VBS?

                                      >Проблема в том, что этот байткод никуда не сохраняется. Питон генерирует "пук" файлы, именно потому я за путхон.

                                      Кстати, груви можно и копульнуть в .class файл явно, и сохранить его:)

                                      (пару недель я буду всех заебвывать грувями, потом попустит)
                                      Ответить
                                    • Каждый царь знает, что такой байткод сосёт у нативного кода, и никакой джит не поможет.
                                      Ответить
                                      • У скриптовых языков обычно флешрояль:
                                        1. Код ненативный.
                                        2. Динамическая тупизация.
                                        3. gc.
                                        Ответить
                                        • Мне поебать какой код в "PHP", и есть ли там "gc" (ведь после того, как запрос отработал, память освобождается автоматически).
                                          Ответить
                            • BP называлась седьмая версия TP.

                              Иногда репаки «BP 7.0», в которые клали не весь софт сразу, а только для DOS или только для Windows, называли TP.

                              Кстати, в шестой версии утилиты и библиотеки для разных платформ были отдельно: «TP 6.0» назывался компилятор для DOS, а компилятор для Windows назывался «TP for Windows 1.0» (следующих версий TPW не было, потому что в седьмой версии все платформы решили объединить).

                              А ещё в комплекте «BP 7.0» были bpw.exe, bp.exe и turbo.exe — IDE соответственно для Windows, для защищённого режима DOS и для реального режима DOS (имеется в виду режим/ОС хоста, каждый из экзешников умел создавать программы для всех трёх платформ), а также bpc.exe и tpc.exe — консольные компиляторы соответственно для защищённого режима DOS и для реального (и опять же это про хост; каждый компилятор умел собирать программы для всех трёх платформ). Консольного компилятора для Windows не было, потому что в Windows 3.x не было консоли.

                              Между bp.exe и turbo.exe, а также между bpc.exe и tpc.exe не было никакой функциональной разницы, кроме того, что первым требовалось переключаться в защищённый режим процессора (они могли стартовать в реальном и переключать режим сами либо в V86 и использовать DPMI для доступа к сегментам защищённого режима), поэтому теоретически им было доступно больше памяти без анскильных оверлеев, XMS, EMS, которые тормозят.
                              Ответить
        • > Система типов у С++ самая развитая в мире в принципе.

          Бггг.
          Ответить
          • >А по поводу потуг - это ненужно пруфцевать. Нельзя доказать то, что что-то самое сильное. Я лишь это декларирую, а если ты с этим не согласен - показывай другого сильного. И уже тогда, после сравнения, будет один победитель. Очевидно, что после первого прокукарека ты объявляешься питухом и все твои потуги стоят ноль. Это нужно для того, что-бы ты не тратил время заспамом херни.

            Нихуя не понятно, но очень интересно
            Ответить
            • Вореции какие-то пошли.

              Очевидно, что если кто-то утверждает "типизация в хуйнянейм - самая развитая в мире среди языков", доказать это можно, пруфом должно быть сравнение этой хуйни со всеми прочими существующими в мире языками.
              Ответить
              • Ну он же сказал явно - "самая развитая в мире в принципе". Пусть принципом поделится, ему жалко что ли?
                Ответить
                • Принцип прост - раз царь сказал что самая развитая, значит так оно и есть. А если кто думает иначе - тот просто птушник, клоун, питух и анскиллябра.
                  Ответить
                  • Царю надо дать пописять на окамле, потом пусть он расскажет, где какая типизация
                    Ответить
                      • Да даже на Ko-ко-ко.

                        Паттер матчинг
                        when (ptushka) {
                          is Kurochka -> ptushka.snestiJaichko()
                          is Piven -> assert ptushka.grebeshok.color == Colors.Zolotoy
                        }


                        Смарт каст
                        if (ptushka is Soroka && ptushka.beloboka) {
                           ptushka.kashuVarit()
                        }
                        Ответить
                        • Можно не ограничиваться полумерами. Пусть попишет на «Haskell».
                          Ответить
                          • В любом случае Царь всё это назовёт анскильной питушнёй.

                            Он даже паскалевские массивы ругал за то, что в них элементы можно нумеровать не с нуля (хотя на том же «Интеле» адресация в стиле scale-index-base появилась уже на 80386, так что все эти смещения для процессора бесплатны).
                            Ответить
        • Ты анскильно-заедушный пранкер Царя. Я уже сообщил Царю, что за ним следят.
          Ответить
        • Сообщение 15384081 в топике В чем отличие процедурного программирования от функционального? удалено или не существует
          Ответить
            • https://i.imgur.com/aghbmuu.jpg вот скриншот с удаленной хуйней на всякий случай.

              https://habr.com/ru/article/448466/#comment_20098382 еще можно на хабре его кукареки почитать.

              >> Во время компиляции можно порождать код. Можно порождать тела функций (а с метаклассами можно?). Можно читать файлы и даже, скажем, загрузить XML-схему по сети (не надо так делать, но можно) и по ней сгенерировать функции и структуры данных.

              > Этот код — говно. То, что вы там рассказываете — это свойство любой скриптухи. На этом можно заканчивать. Никому в С++ абсолютна неинтересна кодогенерация, которая генерирует говно.
              Ответить
              • >. Давно топлю за редактирование AST в С++ на этапе компиляции

                Подумаешь, у нас в Groovy это уже 10 лет есть
                Ответить
          • Ооличие процедурного программирования от функционального не существует
            Ответить
            • В процедурном процедуры. В функциональном - функции.
              Ответить
              • На «Basic» можно писать и в «процедурном», и в «функциональном» стилях. Именно поэтому я за «Basic».
                Ответить
                • В Pascal тоже.

                  Во всех других языках поддерживается только функциональное (иногда вообще только методическое)
                  Ответить
                  • В Фортране — рутинное (SUBROUTINE).

                    А как назвать программирование в Ассемблере, где только CALL и RET?
                    Ответить
              • Ну этот разговор я уже слышал.
                В структурном -- структуры.
                В парном -- пары (кортежи из двух элементов)
                В XP (экстремельном программировании) используется os Windows XP
                Ответить
  • Непонятна параша. Примеры использования есть?
    Ответить
      • I wish у гестов хоть что-то уник было
        Ответить
      • Пример как было -> чего хотим добиться -> как стало. Потому что яннп.
        Ответить
        • потому что не всегда нужно наименовывать передаваемые аргументы.

          у меня батхерт больше с нового валрус оператора. ебать редандант не дзену.
          Ответить
            • Тупой пример, но первое, что в голову: когда по уроцки назвал аргументы функции, которая считает сумму двух векторов. и не хочешь, чтобы хоть кто-то вызывал её как x1=x2=x3=y1=...
              Ответить
              • Ради этого нужно вводить какую-то синтаксическую парашу, которая ещё больше запутывает? Согласен с Пи, вообщем.
                Ответить
                • я бы тоже выкинул многое и начал бы со staticmethod
                  Ответить
                  • мамка ипаль тех, кто пользуется статик метод

                    зачем вам топлевел функции дали? вас чтоли джаваебы-шарпеи покусали?

                    вот классметод нужен
                    а статик -- нет
                    Ответить
                          • в том, что классмецод полезен так же для полиморфизма

                            а статик нужен ни за чем
                            Ответить
                          • Клацмецат: наследуется, не требует экземлпяра класса, юзается в фабриках и вообще крутой.
                            Статикметод: нахуй никому не нужен и является признанной ошибкой светлоликого Гuido.
                            Ответить
                            • Почему в плюсах он нужен, а в питоне нет? В чем отличие?
                              Ответить
                                • Я видимо что-то среди этого пукаю: «метод», «клацметод», «статикметод».
                                  Ответить
                                  • В плюсах (а так же жобе и шапрее) статик метод есть у класса. Он имеет доступ к полям, общим для всех инстансов класса и для всех его потомков.

                                    class Bubarekh {
                                      public:
                                      static int petuh;
                                      static void makaka();
                                    }
                                    
                                    class Barebukh: public Bubarekh {}


                                    Тут макаку можно вызвать и у баребуха, и у бубареха.
                                    Она будет иметь доступ к петуху, но в самом методе невозможно будет узнать вызван ли ты для бубареха или баберуха.

                                    В питончике же есть третий вид метода -- класс метод.
                                    Он параметтризуется классом.

                                    class Baberukh:
                                        pass
                                    
                                    class Burabekh(Baberukh):
                                        @classmethod
                                        def abezjana(cls):
                                            print(f"Me {cls}")


                                    То-есть метод может поразному вести себя в зависимости от класса.

                                    Например, можно сделать фабричный метод

                                    @classmethod
                                    def create(cls):
                                        return cls(42)


                                    В крестах это можно шаблонами, а жабы и щапры смокчут хуйца
                                    Ответить
                              • паблик статик метод класса в плюсах тоже не имеет экземпляра, но имеет доступ к атрибутами класс. эт как свойцтва.
                                Ответить
                                • В плюсах свойства лежат только в том классе, где они определены. Ты не можешь сделать вот так в крестах

                                  class Petuh:
                                      name = None
                                  
                                      @classmethod
                                      def set_name(cls, name):
                                          cls.name = name
                                  
                                  
                                  class Tsyplenok(Petuh):
                                      pass
                                  
                                  
                                  Petuh.set_name("Petr")
                                  Tsyplenok.set_name("Petya")
                                  
                                  print(Petuh.name)
                                  print(Tsyplenok.name)
                                  Ответить
              • > когда по уроцки
                - на уроцке по программированиема
                Ответить
          • >>> help(pow)
            ...
            pow(x, y, z=None, /)
            ...
            
            >>> pow(x=5, y=3)
            Traceback (most recent call last):
              File "<stdin>", line 1, in <module>
            TypeError: pow() takes no keyword arguments
            Ответить
          • если честно, то я считаю что нименованными могут быть два аргумента
            Более двух должны быть именованными

            мамка ипаль тех, кто делает функции с девятью булевыми неименнванными аргументами
            Ответить
            • Видимо для таких будут аргументы после слеша, если я правильно понял.
              Ответить
              • перед слешем могут быть только порядковые аргументы
                потом любые
                а после астериска (и абелиска) будут только именованные аргументы
                Ответить
  • Кто-то может привести пример вызова функции со всеми тремя типами оргументов?
    Ответить
  • 3,14дар, иди в армию, 3,14дар!
    Ответить
  • В 461 году до н. э., когда произошли землетрясения и появилась говорящая корова, а с неба стали падать куски мяса, которые поедали птицы, решено было поручить дуумвирам по священным делам обратиться к Сивиллиным книгам

    В 200 году до н. э. обращение к книгам было вызвано появлением чудовищных животных вроде поросёнка с человечьей головой, а также двуполых младенцев, которых утопили в море

    В 125 году до н. э. в Риме родился андрогин, и сенат обратился к книгам, в которых были найдены указания на жертвоприношени
    Ответить
  • Я почему-то вспомнил фразу: «Если тебе нужен „PL/1“, ты знаешь, где его взять».
    Ответить
        • Он содержит такой широкий набор синтаксических конструкций и встроенных функций, что, вероятно, не существует ни одного компилятора, поддерживающего все возможности языка ПЛ/1.
          Ответить
        • На фоне нынешних крестов или там новых ECMAScriptoв оно даже не выглядит чем-то мудрённым.
          Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8