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

0

  1. 1
  2. 2
  3. 3
  4. 4
# Python2

import sys
print sys.stderr, "Pol chasa ne mog ponyat kakoko huya nichego ne vivoditsya"

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

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

  • Именно поэтому я за 2>&1

    А вообще забавно, прям как в поцКале: оператор выводит все передаваемые параметры, но для первого параметра когда он какого-то определенного типа внезапно делается исключение.
    Ответить
    • Там нужно разделять stdout и stderr. Поэтому stdout-а я не видел, и не понимал в чем дело.
      Ответить
    • Да, для всяких Write, Writeln, Read, Readln в «Паскале» сделали хак, хотя перегрузку функций создавать нельзя (перегрузка появилась только в наследниках типа «Фрипаскаля»). Более того, функций с переменным количеством аргументов (в стиле varargs) в нём не было, потому что не поддерживалось соглашение «cdecl», поэтому write с несколькими выводимыми значениями компилировалось в пачку вызовов write с одним выводимым значением.

      В «Турбопаскале» был файл-затравка SYSTEM.TPS, без которого SYSTEM.PAS не компилировался. В этой затравке и были описаны все перегрузки. Затравка не была документирована. Вроде никто не брался за её реверс-инжиниринг, чтобы добавить свои перегрузки. Все, кому нужна была перегрузка, создали свои компиляторы.

      Кстати, а где ещё такое бывает?
      Ответить
  • Как отучиться миксить двойные и одинарные кавычки, и перейти на что-то одно?
    Ответить
      • {'И', 'м', 'е', 'н', 'н', 'о', ' ', 'п', 'о', 'э', 'т', 'о', 'м', 'у', ' ', 'я', ' ', 'з', 'а', ' ', '"', 'C', '"', '.'}
        Ответить
    • Например джаббаскрипте есть соглашение: литералы с кодом писать в одинарных кавычках, а с текстом для человеков в двойных.

      А в петоне я обычно стараюсь юзать одинарные, мне лень жмякать shift. Двойные использую только если вдруг в строке есть одинарные ковыччки, потому что строки с экранированием выглядят некрасиво.
      Ответить
      • Для анскильных питушков, которые не включают мозг. Я вообще пешу в виме с дефолтными настройками.
        Ответить
  • <open file '<stderr>', mode 'w' at 0x00A6D0D0> Pol

    Всё выводится. Ну и нехер на двойке писать.
    Ответить
    • Перевёл на тройку, проверь:
      import sys
      print (sys.stderr, "Pol chasa ne mog ponyat kakoko huya nichego ne vivoditsya")

      Перед текстом выводит:
      <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>
      Ответить
      • он выводит repr файла вместе с остальными параметрами, и в двойке так же.

        Тогда я вообще не понил, чего у него там не выводится.
        Ответить
  • Может быть, вы имели ввиду
    print >> sys.stderr, "Pol chasa ne mog ponyat kakoko huya nichego ne vivoditsya"
    Какой замечатьелный синтакс )))
    Ответить
  • Приведите реальный пример, когда это может вызвать непонимание.
    Ответить

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

Семь раз отмерь — один отрежь, guest!

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


    8