我有一个关于Haskell中的一些基本转换的问题。 基本上,我有一个书面的输入文件,名为Input.md。这包含一些在我的项目文件中读取的降价文本,我想编写几个函数来对文本进行转换。在一个名为convertToHTML的函数下完成这些函数后,我已经以正确的格式将该文件输出为.html文件。读取Input.md文件并输出.html文件Haskell
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等函数,但无法弄清楚如何遍历文本并转换每个文本。如果任何人有任何建议请。我一直在为此工作了两天,并且有一些失败的代码显示了几个星期,并有一堆失败的代码显示它。
不知道如何将响应指向你的。哈哈,但我在下面发布了回复。 – KimCheeFatChoyProgrammer 2014-12-04 07:45:33
嘿,我想知道你是否能让我开始使用单词和单词进行单词转换。我一直在经历一些试验和错误代码,但我不知道在我的代码中使用函数的位置。我已经尝试了复制convertHeader和convertHeaders格式,并且也尝试过守卫。但是没有任何东西可以解决我的问题 – KimCheeFatChoyProgrammer 2014-12-05 07:57:47