У меня возникли некоторые проблемы с упражнением:Haskell присвоение значения переменного внутри понимания
Я должен написать функцию, которая THATS 3 числа, xyn, будучи й и у нижнего и верхнего границы понимания списка (соответственно), а n - количество разделов, которое будет иметь понимание.
Например:
λ> partition 10 20 4
[10.0, 12.5, 15.0, 17.5, 20.0]
То, что я сделал следующий:
partition :: Double -> Double -> Double -> [Double]
partition x y n = [a+b | b = (y-x)/n , a -> [x,b..y]]
Я не понимаю, почему я не могу определить значение переменной Ь внутри понимания, так как когда я пытаюсь запустить его, я получаю следующее сообщение об ошибке:
parse error on input `='
ПРИМЕЧАНИЕ: Предполагается, что это упражнение для начинающих и это должно иметь простое разрешение
Результаты отличаются. [Релевантные] (http://stackoverflow.com/questions/7290438/haskell-ranges-and-floats). – user3237465
О, я не знал, что смогу использовать в понимании, спасибо. Но таким образом список поднимается до y + b (22.5) вместо перехода только к 20.0, как я могу его исправить? – eXistanCe
@ user3237465 Я действительно не думаю, что это связано. Ошибка здесь использует 'a + b', а не просто' a', а не что-то вроде смешных правил перечисления Haskell. –