使用Haskell海龟';使用readFile创建文件路径
我正试图使用Haskell Turtle来处理CSV文件,但在使用选项解析器中的使用Haskell海龟';使用readFile创建文件路径,haskell,haskell-turtle,Haskell,Haskell Turtle,我正试图使用Haskell Turtle来处理CSV文件,但在使用选项解析器中的Turtle.FilePath时遇到了问题。 这里有一个例子: {-# LANGUAGE OverloadedStrings #-} module Main where import Lib import Control.Applicative import qualified Data.ByteString.Lazy as BL import Turtle data Args = Args Turtle.Fi
Turtle.FilePath
时遇到了问题。
这里有一个例子:
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Lib
import Control.Applicative
import qualified Data.ByteString.Lazy as BL
import Turtle
data Args = Args Turtle.FilePath
deriving Show
tfpToStr :: Turtle.FilePath -> String
tfpToStr fpath = show fpath
tfpToPfp :: Turtle.FilePath -> Prelude.FilePath
tfpToPfp fpath = show fpath
parser :: Parser Args
parser = Args <$> (argPath "fname" "The file containing the data")
sname :: String
sname = "salaries.csv"
main :: IO ()
main = do
Args fname <- options "Salary Printer" parser
csvData <- BL.readFile (tfpToStr fname)
-- csvData <- BL.readFile sname
putStrLn $ show csvData
{-#语言重载字符串}
模块主要在哪里
导入库
导入控制
将限定数据.ByteString.Lazy导入为BL
进口海龟
数据Args=Args.FilePath
衍生节目
tfpToStr::Turtle.FilePath->String
tfpToStr fpath=显示fpath
tfpToPfp::Turtle.FilePath->Prelude.FilePath
tfpToPfp fpath=显示fpath
parser::parser Args
parser=Args(argPath“fname”“包含数据的文件”)
sname::字符串
sname=“salaries.csv”
main::IO()
main=do
Args fname我碰巧发现了一些有用的东西
现在我可以打电话了
csvData <- BL.readFile $ filePathToString fname
csvData我碰巧发现了一些有用的东西
现在我可以打电话了
csvData <- BL.readFile $ filePathToString fname
csvData也可以在不直接使用系统文件路径的情况下执行转换:
import qualified Data.Text as T
filePathToString :: FilePath -> String
filePathToString = T.unpack . format fp
也可以在不直接使用系统文件路径的情况下执行转换:
import qualified Data.Text as T
filePathToString :: FilePath -> String
filePathToString = T.unpack . format fp