Haskell 将字符串分成列表
Haskell divide String into Lists
我已经在这个项目上工作了很长一段时间,只是想问问是否可以将一个字符串分成一个集合列表。目前我有
type Rate = (String,Int)
type Film = (String,String,Int,[Rate])
testDatabase :: [Film]
testDatabase = [("Blade Runner","Ridley Scott",1982,[("Amy",5), ("Bill",8), ("Ian",7), ("Kevin",9), ("Emma",4), ("Sam",7), ("Megan",4)]),("The Fly","David Cronenberg",1986,[("Megan",4), ("Fred",7), ("Chris",5), ("Ian",0), ("Amy",6)])...
而且我已经定制了很多函数来处理 [Film]
类型。
当我尝试从文本文件导入数据时出现了问题。
使用readFile
我只能阅读
[("Blade Runner","Ridley Scott",1982,[("Amy",5), ("Bill",8), ("Ian",7), ("Kevin",9), ("Emma",4), ("Sam",7), ("Megan",4)]),("The Fly","David Cronenberg",1986,[("Megan",4), ("Fred",7), ("Chris",5), ("Ian",0), ("Amy",6)])
作为
"[("Blade Runner","Ridley Scott",1982,[("Amy",5), ("Bill",8), ("Ian",7), ("Kevin",9), ("Emma",4), ("Sam",7), ("Megan",4)]),("The Fly","David Cronenberg",1986,[("Megan",4), ("Fred",7), ("Chris",5), ("Ian",0), ("Amy",6)])"
而且我不知道是否有办法让 readFile
读取到不同的数据类型而不是字符串或转换此字符串以适合数据类型。
如有任何建议,我们将不胜感激。对不起,如果我没有很好地表达这个问题。总之,有没有一种方法可以将字符串变成数据以便能够实现为一种类型,或者有没有一种方法可以将 readFile
作为 String
以外的其他东西?
提前致谢。
您可以使用 read
:
main = do
string <- readfile "data.txt"
let testDatabase = read string :: [Film]
我已经在这个项目上工作了很长一段时间,只是想问问是否可以将一个字符串分成一个集合列表。目前我有
type Rate = (String,Int)
type Film = (String,String,Int,[Rate])
testDatabase :: [Film]
testDatabase = [("Blade Runner","Ridley Scott",1982,[("Amy",5), ("Bill",8), ("Ian",7), ("Kevin",9), ("Emma",4), ("Sam",7), ("Megan",4)]),("The Fly","David Cronenberg",1986,[("Megan",4), ("Fred",7), ("Chris",5), ("Ian",0), ("Amy",6)])...
而且我已经定制了很多函数来处理 [Film]
类型。
当我尝试从文本文件导入数据时出现了问题。
使用readFile
我只能阅读
[("Blade Runner","Ridley Scott",1982,[("Amy",5), ("Bill",8), ("Ian",7), ("Kevin",9), ("Emma",4), ("Sam",7), ("Megan",4)]),("The Fly","David Cronenberg",1986,[("Megan",4), ("Fred",7), ("Chris",5), ("Ian",0), ("Amy",6)])
作为
"[("Blade Runner","Ridley Scott",1982,[("Amy",5), ("Bill",8), ("Ian",7), ("Kevin",9), ("Emma",4), ("Sam",7), ("Megan",4)]),("The Fly","David Cronenberg",1986,[("Megan",4), ("Fred",7), ("Chris",5), ("Ian",0), ("Amy",6)])"
而且我不知道是否有办法让 readFile
读取到不同的数据类型而不是字符串或转换此字符串以适合数据类型。
如有任何建议,我们将不胜感激。对不起,如果我没有很好地表达这个问题。总之,有没有一种方法可以将字符串变成数据以便能够实现为一种类型,或者有没有一种方法可以将 readFile
作为 String
以外的其他东西?
提前致谢。
您可以使用 read
:
main = do
string <- readfile "data.txt"
let testDatabase = read string :: [Film]