1. Куча / Говнокод #3663

    +124

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    def loop(fahrenheit)
    {
       //Тело цикла...
    
      match (match (fahrenheit >= 0) { | true  => fahrenheit < 300 | false => false })
      {
        | true  => loop(fahrenheit + 20);
        | false => ()
      }
    }

    Цикл на языке Nemerle. Найдено в одной обучающей статье для начинающих нубов.

    Запостил: WebKill_HochetVBan, 08 Июля 2010

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

    • А в чём юмор?
      Ответить
      • Где здесь Nemerle
        Ответить
        • Не немерле только в
          //Тело цикла...
          Я просто убрал лишние строки, что-бы оставить лишь синтаксическую соль, необходимую для понимания.
          Остальное - он самый Nemerle.
          Статью нашёл на рсдн. Там содержится приведенный выше пример:
          http://www.rsdn.ru/article/Nemerle/TheNemerleLanguage.xml
          Ответить
          • В Nemerle циклы и многие другие конструкции не включены в сам язык, а реализованы как макросы (не путать с куда более бедными по возможностям макросам C++). Собственно автор показывает как можно писать на чистом языке, без подключения библиотеки макросов. В продакшн такой код, конечно, совать не стоит, но в данном случае - это не говнокод.
            Ответить
    • Функциональный язык такой функциональный:)
      Ответить
      • Тут скорее дело в авторе статьи. Думаю, что он не с того начал объяснять для нубов язык.
        Ответить
        • Это да, с подключенными макросами для привычных операций, для нубов читать было бы реально проще. А так поначалу может создаться немного неверное представление о языке.
          Ответить

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