首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将IO字符串转换为txt文件的代数型数据"Products“?

如何将IO字符串转换为txt文件的代数型数据"Products“?
EN

Stack Overflow用户
提问于 2017-03-29 07:20:20
回答 1查看 73关注 0票数 0

我必须要求用户在Products.txt中输入产品的代码、名称和价格。

代码语言:javascript
复制
produtoPath::FilePath
produtoPath = "Products.txt"

 adicionaProd::IO()
 adicionaProd = do
    putStr "Product's Code:"
    cod<-getLine
    putStr "Product's Name:"
    nom<-getLine
    putStr "Product's Price:"
    pre<-getLine
--  appendFile produtoPath
    putStr "Do you want to add some other product?"
    resp <- getLine
    if ((resp == "y")) then adicionaProd else return()

因此,在添加产品之后,我必须创建另一个函数来读取Products.txt的内容,并返回产品...类型Products = (Code,Name,Price),我不知道该怎么做...我试过了,但我做不到。

代码语言:javascript
复制
 generateList:: [[String]]-> Produtos
 generateList [] = []
 --generateList [[cod,nom,pre]:[]] = [(read:cod)::]

在那之后,我必须用loadProducts函数加载产品...它读取前一个函数的文件,并返回IO Products类型,以便用户能够以Products类型的格式可视化文件中的内容。

代码语言:javascript
复制
loadTable:: IO Produtos
loadTable = do
         s<-readFile produtoPath
    --   return generateList (map words)

综上所述:我不知道我应该如何将数据保存在"addProd“函数中,去读取文件并生成产品cpm的generateList函数,并将它们加载到用户用的loadTable function.Can中,你有什么帮助吗?我做了什么的完整代码:https://ideone.com/Al9ZLf

EN

回答 1

Stack Overflow用户

发布于 2017-03-29 15:33:02

您可能需要从adicionaProd返回输入数据。因此,它的类型必须变成

代码语言:javascript
复制
type Products   = [(Code, Name, Price)]
adicionaProd :: IO Products

然后,调整代码本身

代码语言:javascript
复制
 adicionaProd = do
    putStr "Product's Code:"
    cod<-getLine
    putStr "Product's Name:"
    nom<-getLine
    putStr "Product's Price:"
    pre<-getLine
    let prod :: (Code, Name, Price)
        prod = (read cod, nom, read pre)
    putStr "Do you want to add some other product?"
    resp <- getLine
    if resp == "y" then do
       rest <- adicionaProd 
       return (prod : rest)
    else 
       return [prod]

其思想是:如果响应是"yes",那么递归地请求产品列表,并将其绑定到rest。然后,您返回一个包含您的产品的列表,然后返回其他产品。如果响应为"no",则返回一个仅包含第一个产品的列表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43081598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档