У меня есть этот тип данных data List x = LT [(x,[String])]
, и я пытаюсь создать функцию, которая добавит новый элемент в List
.
Например, используя функцию add
:
add ('a', ["1","2"]) [('x',["1"])]
результатом будет:
[('x',["1"]), ('a', ["1","2"])]
Неважно, какой порядок. Я много пробовал, до сих пор многого не понимаю.
Это то, что я пробовал
`add:: Ord a => a -> List a -> List a
add _ (LT[]) = empty
add x (LT(y:ys))
| belongs x (LT(y:ys)) = (LT(y:ys))
| otherwise = (LT(y:ys)) ++ (LT(x))`
Кто-нибудь может помочь? Заранее спасибо.
('a', ["1","2"])
в качестве списка, например.[('a', ["1","2"])]
, тогда ваша функция может просто взять два списка, использовать ++ и вернуть новый список, который будет содержать оба. hackage.haskell.org/package/base-4.9. 0.0/docs/Data-List.html - person Danny Wilson   schedule 24.11.2016add 'a' [('x', ["1"])]
. Однако неясно, какой список должен быть связан с'a'
в результате. Это просто тот же список, связанный с предыдущим последним значением, но с добавлением в конец еще одной числовой строки? - person chepner   schedule 24.11.2016