私は、名前、月、日を含む生年月日の3タプルのリストを持っています。私は新しいタプルを追加し、birthBookを見せたいと思います。しかし、値を追加または削除した後、birthBookは変更されません。
tom 5 6を追加した後に、print birthBookが "dd" 4 5を表示するだけです。つまり、(tom、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
あなたのプログラムに 'print'コマンドを入力したとき、あるいは' add'コマンドをタイプしたときにだけdd "4 5'が得られますか? –
新しいタプルを追加したにもかかわらず、私がprintと打つとdd 4 5しか得られません。新しいタプルを追加して、それらのすべてを印刷したい。 –