Re: Haskell, как вывести значение на экран и его же вернуть
От: Аноним  
Дата: 31.07.10 08:27
Оценка: 2 (1)
Здравствуйте, 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 для начала.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.