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

0

  1. 1
while h == h

Делал так раньше, когда не знал про while True

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

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

  • Оба варианта плохи. Используй переменную для условия выхода из цикла. А то запутаешься потом в break-ах.
    Ответить
        • В Python например есть StopIteration (окончание итерации в for a in L), SystemExit и KeyboardInterrupt, все это - исключения
          Ответить
          • Видел, конечно, что это нормальная практика в питоне... Но всё равно мне кажется что такое должно использоваться только в редких крайних случаях, где через переменную получается слишком уж громоздко.
            Ответить
    • > Используй переменную для условия выхода из цикла
      А в этом вашем питоне есть NaN?
      С ним break не понадобится.
      Ответить
    • #!/usr/bin/python
      # -*- coding: utf-8 -*-
      from time import sleep;
      
      if __name__ == '__main__':
          while 0**0 == 1:
              print("Мир всё еще на месте")
              sleep(0xffffffff);
      Ответить
      • Поставил в автозапуск, слежу за состоянием мира.

        Пока всё ок.
        Ответить
          • У меня эта прога похоже повисла. Не рапортует о состоянии мира начиная с момента запуска.
            Ответить
              • Пробовал на винде ставить Sleep(INFINITE). Он продлился толи 11 дней, толи 27 дней. Точный период не помню. Вот такой вот в винде бесконечный слип
                Ответить
                • Винда настолько быстрая, что бесконечный цикл прогоняет за конечное время!
                  Ответить
                  • А ПОТОМ ШИНДОУЗ ПЕРЕУСТАНОВИЛСЯ ВЕДЬ ЭТО ЖЕ ТАК ПРОСТО ПЕРЕУСТАНОВИТЬ ШИНДОУЗ
                    Ответить
                  • >А потом что?
                    Ну если это был слип, то он просто как-будто бы закончился, а если это было ожидание события, то оно вернет WAIT_TIMEOUT, если до конца как-бы конечного бесконечного периода событие не пришло.
                    Ответить
      • И при очередном обновлении, если разработчики решат, что 0 в степени 0 должно бросать исключение...
        Ответить
              • А мой любимый калькулятор (ghci) выдает вот такую антиматематическую хуйню:
                Prelude> 0^0
                1
                P.S. Ненавижу кнопкотыкательные калькуляторы, haskell, python, bc ведь намного удобней 😉
                Ответить
                • Скачай мой калькулятор, в нём не надо кнопки тыкать.
                  Ответить
                  • Ага, уже потестил 😉 Я считаю, что его интерфейс прекрасен, по сравнению с типичными калькуляторами. Даже переменные есть.

                    Но по сравнению с тем же ghci есть минус - нету лога, не совсем удобно присваивать переменные - надо тыкать мышкой.
                    Ответить
                    • > не совсем удобно присваивать переменные - надо тыкать мышкой.
                      Действительно, никак кроме мыши. Тарас не осилил свойство для фокусировки контрола табом?
                      Ответить
                    • Можно кстати заделать так чтобы Ctrl+Enter писал в новую строку.
                      PS Лол, на второй монитор не могу переместить окно.
                      Ответить
                      • Блджад, и вправду нет кнопки "перенести фокус на поле ввода".
                        На двух мониторах не тестил. Окно любит по краю экрана выравниваться просто, могу для расширенного режима убрать.
                        Ответить
                    • Мышкой можно не тыкать, если фокус и так на поле ввода, то можно стрелочками перемещаться по переменным, и фокус с поля ввода не уйдёт
                      Ответить
                  • Предложение - запилить оператор присваивания, чтобы можно было делать вот так:
                    a := 100500
                    a*5+2
                    Ответить
                • > кнопкотыкательные
                  Они так готовятся к эпохе планшетов, шиндошс 8 и тотального сенсорного интерфейса на митро.
                  Ответить
                • >MiniCalc.rar
                  Неплохо. Люблю минимализм - просто и со вкусом.

                  >Но по сравнению с тем же ghci есть минус - нету лога
                  Но я предпочитаю js-консоль хрома или оперы - там и autocomplete, и структуры, и функции, и регэксы, даже dom, даже http.
                  Еще есть путхон, скала в режиме интерпретатора
                  Ответить
                  • Дык любой интерпретатор уделывает гуитыкательные калькуляторы. И по юзабилити, и по возможностям, и по расширяемости. Ну и кстати обучения как такового не требуется, арифметика почти во всех языках интуитивно записывается, а синусы недолго запомнить.
                    Ответить
                    • > любой интерпретатор уделывает гуитыкательные калькуляторы. И по юзабилити, и по возможностям, и по расширяемости.
                      Любой? Та ну?
                      http://brainfuck.tk/
                      Ответить
                  • > Под линупс не заводится.
                    man virtualbox

                    У меня все работает, сам проверял.
                    Ответить
                    • Лол. fpc не собирает, даже лазарус попробовал натравить. А exe-шник даже под вайном не вурычит.
                      Ответить
                      • Так там винапишный хардкор у Тараса. Само собой лазарус не соберет.
                        Ответить
                        • Там ещё и ассемблерные вставки в intel-синтаксисе.
                          Ответить
                          • {$OPTIMIZATION PREMATURE}

                            или в Delphi 7 такая директива не поддерживается и приходится делать преждевременную оптимизацию вручную?
                            Ответить
                  • Да, а зачем? Только там тоже говно есть - при любом изменении кода, добавлении новых переменных, например, сохранёнки перестают работать. Потому что в них записаны указатели на глобальные переменные.
                    Ответить
  • class FuckUp(object):
      def __eq__(self, other):
        return self is not other
    h = FuckUp()

    Пример надуманный, но все же. Сравнение может оказаться трудоемкой операцией, если применять такой подход к первому попавшемуся "неизменному" объекту.
    Ответить
    • FuckUp() == FuckUp() работает как раз таки нормально 🙂
      Ответить
      • Ну сделать
        def __eq__(self, other):
          raise NotImplementedError

        тоже никто не мешает. Более того, такое, имхо, даже более вероятно.
        Ответить
          • Если other не определяет __eq__ вообще или кидает NotImplemented для нашего класса - уйдет в рекурсию.
            Как и в случае двух экземпляров, да. =)
            Ответить

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

Где здесь C++, guest?!

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


    8