我有一個關於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