Куча говна / Говнокод #13423 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
wrs(S):-put_char('\"'), wrsi(S).
wrsi([C|S]):-put_char(C), wrsi(S).
wrsi([]):-put_char('\"').
 
wrl(S):-put_char('['), wrli(S), put_char(']').
wrli([C|[O|S]]):-wrs(C), put_char(','), wrli([O|S]).
wrli([C]):-wrs(C).
 
:- wrl(["dog", "cat", "canary"]).

Курю правильные примеры кода на прологе. PrologGovno ждите во всех кинотеатрах страны.
http://ideone.com/L4vIKs
Почему вместо того чтобы пользоваться стандартной функцией вывода списков или строк - автор рекомендует это? Я код правда поправил, а то хаскельных скобок (я уже без них не могу) не было и запятую в конце списка выдавало.

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

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

  • >примеры кода на прологе
    >Запостил: HaskellGovno
    Тут явно что-то не то.
    Ответить
  • >Почему вместо того чтобы пользоваться стандартной функцией вывода списков или строк - автор рекомендует это?
    А я еще не могу понять почему вместо стандартной функции вычисления факторила авторы всех туториалов рекомендуют использовать рекурсивный велосипед.
    Ответить
    • > почему вместо стандартной функции вычисления факторила авторы всех туториалов рекомендуют использовать рекурсивный велосипед
      Потому что обычно функции вычисления факториала нет в стандартной библиотеке языка. А ввод\вывод - базовые функции.
      Ответить
      • А я всегда думал, потому что это хороший учебный пример. Или вот функция вычисления длины списка во всяких лиспах и хаскелях - зачем ее в туториалах пишут, неужели стандартной нет?
        Ответить
        • Я прочитал много манулов по хаскелю и там не рекомендовали использовать самописный Length. Так и писали: "Может быть реализован вот так и именно так и есть в стандартной библиотеке. Нет смысла её реализовывать ещё раз".
          Ответить
          • Правда ... я сейчас начинаю сомневаться, а есть ли стандартная такая же функция в прологе ввода-вывода типа print их хаскеля, например для списков?
            Ответить
          • Ну первый попавшийся, YAHT открыл, там my_length где-то в начале определяют.
            Ответить
        • Одного продукта не достаточно. Только после написания своего факториала:
          factorial n = product [2..n]
          появляется функция факториал для целых чисел
          Ответить
      • В одинарных - это, если память не изменяет, символы. типа заинтернированые строки.
        Ответить
  • minus(x,y,x-y).
    :-minus(2,1,1).

    Парни, почему не подтверждает истинность утверждения minus(2,1,1)? Говорит, что оно ложно.
    http://ideone.com/tNU4Lm

    Ещё не понимаю, почему в прологах ?-Утверждение(const, X, Y) не работает? Оно если правильно написано должно вывести весь список всех возможных комбинаций Xов и Yов. Только :-Утверждение(const, X, Y)
    Ответить

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

Помни, guest, за тобой могут следить!

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


    8