1
我有一個用haskell.it編寫的全功能編輯程序替換了您用starts輸入的所有單詞。但是我遇到了命令行參數的問題。 如果您輸入:Haskell中的一個編譯程序中的多個參數
cat poem.txt |纂輯字詞1字詞2 WORD3
它只是重新編輯字1
,如果你寫
貓一下poem.txt |纂輯「字詞1字詞2 WORD3」
它重新編輯的所有3個字......這可能是某種錯誤,我沒有用命令行參數的...這裏是我的代碼
module Main where
import System
import Data.Char
import Data.Bits
convertWord :: Eq a=> [a] -> String
convertWord = map (const '*')
lowercase :: [Char]->[Char]
lowercase ch = map toLower ch
redact :: String -> String -> String
redact text keywords = unlines(map unwords redactedtext)
where redactedtext = map processed text1
text1 = map words (lines text)
processed = map tobeconverted
keywords1 = words keywords
tobeconverted x | lowercase x `elem` map lowercase keywords1 = convertWord x
| otherwise = x
main = do
text <- getContents
(key:_) <- getArgs
let
result = redact text key
putStr (result)
非常感謝你,這使得總體感......我改變了它,它工作正常。 – user1295012 2012-03-27 09:14:45
你應該標記爲接受他的答案然後:) – 2012-03-27 09:32:18