Как вернуть список с помощью функции в Haskell
Нужно вернуть списком или еще каким-нибудь образом вывести в консоль результат подсчета 2 уравнений.К примеру,нужно вывести результат от x+y и x*y,отдавая хаскелю только команду, наподобие:
prelude->reshu 2 3
5 6
или [5,6]
или еще каким-нибудь образом, пока накидал так
reshu :: Float -> Float -> [Float,Float]
reshu [x y] = [side,corner]
where side = sqrt ((y/2)^2+x^2)
corner = atan(2*x/y)
Но тут не рабочий вариант, я игрался с типами аргументов и выводом, а также со строкой
reshu [x y] = [side,corner]
Пробовал еще сделать такое
side = sqrt ((y/2)^2+x^2) : []
И потом в вызываемой функции так
reshu x y = side ++ corner
Как грамотно сделать вывод двух значений без написания 2 функций и отдельного обращения к ним? Желательно не сильно сложно, только первое занятие как начали изучать ФП.
UPD.
Все, разобрался, вот рабочий код
reshu :: Float -> Float -> [Float]
reshu x y = [side,corner]
where side = sqrt ((y/2)^2+x^2)
corner = atan(2*x/y)
Ответы (1 шт):
Автор решения: Шкраб
→ Ссылка
Вот рабочий код:
reshu :: Float -> Float -> [Float]
reshu x y = [side,corner]
where side = sqrt ((y/2)^2+x^2)
corner = atan(2*x/y)