haskell - How can I concatenate user input in a list -
i codes user , insert in list, problem when user don't wanna insert more codes. don't saved list numbers because i'm using recursion call method again, when should return list don't have it.
insertcode :: [integer] insertcode = putstrln "code:" code <- getline putstrln "another? (y/n)" if(resp == "y" || resp == "y") (read code::string->integer):insertcode else --i don't know i'm sorry stupids questions, imagine obvious have problem functional programming
first of all, type signature wrong. insertcode uses io monad, type must io [integer]. missing conversion of code string integer (i use readln accomplish that; trying convert code function, not integer) , missing getline y/n response user.
once fixed, might write following:
insertcode :: io [integer] insertcode = putstrln "code:" code <- readln putstrln "another? (y/n)" response <- getline result <- if (response == "y" || response == "y") insertcode else return [] return (code : result) this little verbose, tries explicit how monad used. whether user enters y or n, code must appended list extracted monad: either list extracted recursive use of insertcode, or explicit empty list.
Comments
Post a Comment