я написал функцию, чтобы найти позицию следующего столбца asciibox
, например:
+-----++---++---+
| a || b || c |
+-----++---++---+
поле b должно начинаться со столбца "псевдокод" {length (box a)}и поле c должно начинаться с псевдокода {поле длины a + поле длины b}
, поэтому я написал эту функцию
f:: [Int]->[Int]->[Int]
f (x:xs) [] = f xs [x]
f [] ys = ys
f (x:xs) ys = f xs (ys++[x+ last ys])
, которая дает мне то, что я хочу
f [23,24,25] []
ghci> [23,47,72]
Я хотел бы знать, возможен ли другой алгоритм.Есть ли какое-нибудь решение с помощью «свернуть» или «развернуть» или, возможно, «повторить»
спасибо