1. Ruby / Говнокод #13929

    −148

    1. 1
    "class".class.class

    Не говнокод, просто забавно

    Запостил: __proto__, 12 Октября 2013

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

    • Метакласс?
      Ответить
    • срочно на башорк
      Ответить
      • И что смешного? Смешно бы было, если бы компилятор запутался, но с вероятностью 99,0% запутается сам программист.

        Топику +
        Ответить
    • Вариант для веб-приложений:
      window['window'][window.window && 'window'].window.window.window

      P.S. не ruby (c) Кэп
      Ответить
      • Или так:
        ["constructor"][+"constructor"|+"constructor"]["constructor"]("constructor")["constructor"]("constructor")
        Ответить
      • Hodor Hodor Hodor Hodor Hodor
        Ответить
    • Кстати, оно замыкается на себя:
      "class".class.class.class.class
      Ответить
      • Логично. ruby же
        Ответить
        • нет, не специфично, это даже, например, в жабе так.
          Ответить
          • Ну так языки тру ООПшные. Кажется это верно даже для Smaltalk
            Ответить
      • Потому что любой класс и обьект имеет class?
        Ответить
        • Да.
          "class" - имеет тип String
          "class".class = String - имеет тип Class
          "class".class.class = Class - имеет тип Class
          "class".class.class.class = Class - имеет тип Class
          Ответить
        • Точнее, в руби и питоне любой класс - это обьект и тоже имеет класс.
          Ответить

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