У меня есть 3-хместный список родовых книг, которые содержат имя, месяц, день. Я хочу добавить новые кортежи и показать родословную. Однако после того, как я добавляю или удаляю значения, родословная не меняется.
Скажите, после того, как я добавлю тома 5 6, но напечатайте родословную, просто покажите «dd» 4 5, что означает (том, 5,6) не добавляет в BirthBook. что мне делать?
здесь мои коды:Как сохранить список после добавления и удаления элементов в haskell?
birthBook::[(String,String,String)]
birthBook=[("dd","4","5")]
prompt :: String -> IO()
prompt todos = do
putStrLn "Enter a command(add,remove,print)"
cmd <- getLine
interpret cmd todos
interpret :: String->String-> IO()
interpret "print" todos= do
print(birthBook)
prompt todos
interpret "add" todos= do
putStrLn "Enter a name"
cmdname<-getLine
putStrLn "Enter an integer month"
cmdmonth<-getLine
putStrLn "Enter an integer day"
cmdday<-getLine
print(add birthBook cmdname cmdmonth cmdday)
prompt todos
add::(Eq key)=>[(key,v,z)]->key->v->z->[(key,v,z)]
add birthBook name month day = (name, month, day):birthBook
main= prompt []
Вы не используете 'add' в любом месте своей программы. – erisco
Вы получаете '' dd "4 5' только при вводе команды' print' в вашей программе, а также при вводе команды 'add'? –
Я получаю только dd 4 5, когда печатаю тип, даже если добавляю новый кортеж. Я хочу добавить новый кортеж и напечатать все. –