sub*_*ray 5 io shell haskell functional-programming machine-learning
回到故事:为了更好地理解Haskell和函数式编程,我给自己做了一些任务.我的第一个任务是创建一个程序,可以查看数据集(一组数字,博客中的单词等),搜索模式或重复,对它们进行分组并报告它们.
听起来很容易.:)
问题:我希望程序首先从文本文件中的数据创建列表变量.我熟悉readFile函数,但我想知道是否有更优雅的方式来输入数据.
例如,我想允许用户在命令行中输入类似的内容来加载程序和数据集.
./haskellprogram textfile.txt
是否有允许这个功能的功能?
Jan*_*Jan 12
import System.Environment
main :: IO ()
main = do
args <- getArgs
-- args is a list of arguments
if null args
then putStrLn "usage: ./haskellprogram textfile.txt"
else do contents <- readFile $ head args
putStrLn $ doSomething contents
doSomething :: String -> String
doSomething = reverse
Run Code Online (Sandbox Code Playgroud)
这应该足以让你开始.现在替换reverse更有价值的东西:)
说到解析一些输入数据,您可能会考虑将数据分解为lines或words使用Prelude中的相应函数.