0
Я есть эта функцияHaskell рекурсии хвоста функции
func1 :: Double -> [(Double,Double)] -> Maybe [(Double,Double)]
...............
func2 :: Double -> [(Double,Double)] -> [(Double,Double)]
func2 d [] = []
func2 d list =
let dsegs1 = func1 d list
dsegs2 = func2 d (tail list)
in fromJust dsegs1 ++ dsegs2
Простой поток Я хотел бы достичь в func2
выглядит следующим образом:
let x = func2 3.0 list
let y = func2 3.0 (tail list)
let z = func2 3.0 (tail (tail list))
let a = func2 3.0 (tail (tail (tail list)))
вызов func2
н не раз, пока она возвращает ничего на конце и concat x
, y
, z
, ..., a
.
Как бы я это сделал?
спасибо .. я решил это в любом случае, но имеет 5 строк кода .. ваш так просто .. спасибо человеку –