Здравствуйте, k55, Вы писали:
k55>День добрый.
k55>Я в ФЯ полный ноль.
k55>Разбираюсь в примерах, пытаюсь понять что делает тот или иной код.
k55>Для этого хотел вывести значение на экран, дабы понять что там к чему.
k55>Но не могу понять, как вывести значение переменной на экран а потом вернуть его из функции.
k55>Смотрел обучающие статьи, но там есть куча всего, вплоть до || вычисления, но ответа на тупой вопрос я не нашел.
k55>В этом коде хочется вывести значения пар m и n. Как это сделать?
k55>k55>ack 0 n = n+1
k55>ack m 0 = ack (m-1) 1
k55>ack m n = ack (m-1) (ack m (n-1))
k55>
k55>Думал завести переменную, но не осилил как это сделать. Подозреваю что можно просто print(m) print(n) но тогда как быть с (ack m (n-1))??
k55>Это будет дополнительным вычислением...
k55>И посоветуйте что нить в электронном виде для ламмера, который знает С++... чтоб постепенно переобучить моск думать в другом русле.
ack 0 n = do print (0, n); return (n + 1)
ack m 0 = do print (m, 0); ack (m - 1) 1
ack m n
= do print (m, n)
x <- ack m (n - 1)
ack (m - 1) x
Real World Haskell для начала.