【发布时间】:2014-12-03 08:24:24
【问题描述】:
我有一个关于 Haskell 中一些基本转换的问题。 基本上,我有一个名为 Input.md 的书面输入文件。这包含在我的项目文件中读取的一些降价文本,我想编写一些函数来对文本进行转换。在一个名为 convertToHTML 的函数下完成这些函数后,我将文件输出为正确格式的 .html 文件。
module Main
(
convertToHTML,
main
) where
import System.Environment (getArgs)
import System.IO
import Data.Char (toLower, toUpper)
process :: String -> String
process s = head $ lines s
convertToHTML :: String -> String
convertToHTML str = do
x <- str
if (x == '#')
then "<h1>"
else return x
--convertToHTML x = map toUpper x
main = do
args <- getArgs -- command line args
let (infile,outfile) = (\(x:y:ys)->(x,y)) args
putStrLn $ "Input file: " ++ infile
putStrLn $ "Output file: " ++ outfile
contents <- readFile infile
writeFile outfile $ convertToHTML contents
所以,
- 如何阅读我的输入文件,并将任何以 # 开头的行转换为 html 标记
- 如何再次通读输入文件并将
_word_(1 个下划线)包围的任何 WORD 转换为另一个 html 标记 - 用 html 字符串替换任何字符。
我尝试使用 Map、Filter、ZipWith 等功能,但不知道如何遍历文本并转换每个文本。请如果有人有任何建议。我已经连续工作了 2 天,并且有一堆失败的代码要显示几个星期,并且有一堆失败的代码要显示它。
【问题讨论】:
标签: html haskell character converter