type Dictionary = [(String, String)]
dict :: Dictionary
dict = ("Deutsch", "English"):[]
insert :: Dictionary -> (String,String) -> Dictionary
insert dict entry = dict ++ [entry]
Одна вещь, которую я не нашел о том, как списки работы: Является ли это как-то можно переписать существующий Dict с записью добавленной вставки? Или необходимо, чтобы на следующем этапе всегда выписывать список, который был вынут вставкой?Функциональность добавления в списки в Haskell/перезаписи существующего списка
insert [("German", "English"), ("Hallo", "hello")] ("Versuch", "try")
До сих пор это единственный способ, которым я был в состоянии что-то добавить в новый список, не теряя при этом предыдущую запись. Тем не менее, следующий в списке вещей для реализации - команда поиска, поэтому я задаюсь вопросом, должен ли я также записать это в функции поиска.
Что именно вы подразумеваете под словом «написать это»? Кстати, жесткая сторона вашей функции вставки будет лучше просто «entry: dict» – Ingo
Если вы создаете список ассоциаций, если вы вставляете в начале списка, вам не нужно удалять предыдущие потому что любой поиск найдет элемент, добавленный совсем недавно. – Lee
Я уже пробовал использовать оператор cons, но, похоже, мой список, поскольку он стоит, не является списком ассоциаций? Поскольку я сталкиваюсь с той же проблемой, когда я меняю оператор из ++ на:, все, что я когда-либо получал, было одной дополнительной записью, не переименовывая все, как в примере RasmusWriedtLarsen. @Ingo Что я имел в виду, это НЕ давать имена новых списков с let dict2 и так далее, а скорее написать весь список со своими записями, как в команде вставки, которую я написал в моем вопросе. – dschib