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

    −149

    1. 1
    2. 2
    3. 3
    def read_file(file)
        File.read(File.join(File.expand_path(File.dirname(__FILE__)), file))
      end

    Оставлю так, ради смеха.

    Запостил: hakimovis, 22 Июля 2014

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

    • я правильно понимаю, что автор явно указал расположение файла для чтения(рядом со скриптом). в чем гуана? скрипт может быть запущен из любого каталога, например, кроном
      Ответить
      • Да ничего особого. Просто там четыре пары вложенных скобок и "File" через слово.
        Ответить
        • И от них легко избавится, правда получается все равно наркомания.
          http://ideone.com/18QvPI
          def File.readf(file)
            read join(expand_path(dirname __FILE__), file)
          end
          Ответить
          • Была такая мысль, но без особой надобности патчить стандартные библиотеки не стоит.
            Ответить
          • в руби нет аналога питонячьего импорта? оО
            from os.path import join, dirname
            def read_file(file):
                fname = join(dirname(__file__), file)
                return open(fname).read()
            Ответить
            • Конечно есть, но не для классов, а для модулей. Здесь же File это класс.
              Ответить
              • В руби все класс. Даже небо, даже Аллах!
                Ответить
                • а def и end - это тоже классы?
                  Ответить
                  • Конечно! только у них нет полей и методов
                    Ответить
                    • в питончике можно поля к def
                      Ответить
                    • > у них нет полей
                      Что вы, я явственно ощущаю их электромагнитное поле
                      Ответить
                      • Ну так это поле и собирает функцию. Сам def просто создает поле, а end его поглощает, а все что внутри преобразуется в функцию!
                        Ответить
                        • скажите где найти вашего дилера, я тоже хочу то чем вы накуриваетесь
                          Ответить
                • может все же объект?
                  Ответить
                • А если "класс -- это тоже класс", то какое условие выхода с рекурсии?
                  Ответить

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