小编Fre*_*nes的帖子

Haskell IO无法获取列表来循环菜单功能

我目前正在haskell中制作基于文本的菜单系统.我创建了一个名为Book的数据类型,其中每个函数都编辑列表并返回它.但是,我无法弄清楚如何使菜单部分工作,它可以编辑此列表并回过头来.

关于我在菜单上工作的例子,将一本书添加到列表中,然后菜单需要重新加载菜单以便我可以使用新添加的书籍来显示.

菜单的例子

menu:: [Book] -> [IO]
menu books = do
  str <- getLine
  let selectNum = (read str :: Int)
  case selectNum of
     1 -> let sd = addNewBookIO books 
     2 -> displayAllBooksFromYear books
Run Code Online (Sandbox Code Playgroud)

添加新书的示例

addNewBookIO :: [Book] -> IO [Book]
addNewBookIO films =
  do putStr "Film name: " 
     filmTitle <- getLine
     putStr "List all cahr in the Book (separated by commas): "
     cast <- addToStringArray []
     putStr "Year of Realese in the UK: "
     year <- getLine
     let …
Run Code Online (Sandbox Code Playgroud)

io haskell

3
推荐指数
1
解决办法
371
查看次数

标签 统计

haskell ×1

io ×1