하스켈에서 몇 가지 기본 변형에 관한 질문이있었습니다. 기본적으로 Input.md라는 입력 파일이 있습니다. 여기에는 내 프로젝트 파일에서 읽혀지는 일부 축소 자 텍스트가 포함되어 있으며 텍스트에 대한 변형을 수행하는 몇 가지 함수를 작성하려고합니다. convertToHTML이라는 함수로 이러한 함수를 완료 한 후 파일을 올바른 형식의 .html 파일로 출력했습니다.Input.md 파일을 읽고 .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)이 다른 HTML 태그로 바뀌는 단어를 변환하십시오. - 임의의 문자를 HTML 문자열로 바꾸십시오.
Map, Filter, ZipWith와 같은 기능을 사용해 보았지만 텍스트를 반복하여 각 텍스트를 변환하는 방법을 알 수 없었습니다. 아무도 제안이 없으면 제발. 나는 이것을 2 일 동안 똑바로 작업 해 왔고 몇 주 동안 실패한 코드를 보여주고 실패한 코드를 보여 주었다.
아직 답장을 보내지 못했습니다. 하하,하지만 아래에 응답을 게시했습니다. – KimCheeFatChoyProgrammer
안녕하세요, 단어 및 암호를 사용하여 단어 변환을 시작할 수 있는지 궁금합니다. 나는 시행 착오의 코드를 겪어 왔지만, 나는 내 코드 내에서 함수를 어디에 사용해야할지 모른다. 나는 convertHeader와 convertHeaders 포맷을 복제하려고 시도했고, 또한 가드를 시도했다.하지만 아무것도 나를 위해 일하고있다 – KimCheeFatChoyProgrammer