Итак, у меня возникла проблема с тем, что в основном мне сказали сделать мультимножество или список кортежей. (Char, Int), а затем мне нужно написать функцию, которая берет элемент и вставляет его в этот список, но если в списке уже есть соответствующий кортеж, он увеличивает Int. т. Е. У меня был список [(p, 2), (w, 3)], и я получаю другой w, который должен дать [(p, 2), (w, 4)] Как бы вы это сделали, пробовалоHaskell и манипулирование списком кортежей
listAdd :: Char->Int->ListOfT -> ListOfT
listAdd c i l
|length l == 0 =(c,i):l
|fst l == c = (c,i+1):l
, но это дает нагрузку ошибок, мне нужно, чтобы удалить элемент списка в этой точке и заменить его с (с, я + 1), так как я удалить из списка и как я получаю i + 1? также как вы делаете цикл, который будет проходить через все элементы в списке? И я не могу использовать какой-либо импорт данных. Я знаю, что это задает тонну, но любая помощь будет отличной благодарностью. Neo
Хорошо, этот код может быть сфокусирован так, чтобы его можно было использовать для создания кортежей любых предметов, а не только символов. поэтому я мог бы загрузить его и составить список кортежей с помощью пометок, закрыть его, а затем загрузить его снова и составить список кортежей ints?
"я имел список [(р, 2), (ш, 3)] и я получить другую ж ему следует дать [(р, 2), (ш, 4)]", поэтому ваша функция должна иметь подпись 'Char -> ListOfT -> ListOfT', правильно? – mb21