2017-11-02 9 views
0

私はユーザー入力文字列を取得して辞書をメインループに読み込もうとしていましたが、文字列が辞書に含まれているかどうかを確認しようとするたびに、私は誤った戻り値を返します。doContentsでReadFileを使用するにはどうすればよいですか?

main = do 
    charStream <- getContents 
    contents <- readFile "/usr/share/dict/words" 
    let word = charStream 
    let listDict = lines contents 
    putStr (show (elem charStream listDict)) 

正しい方向を指すことができれば幸いです。どのように私はユーザーの入力を受け取り、同時にファイルを読むのですか?

答えて

1

推測すると、入力ストリームに改行があります。 charStreamでもlinesまたはwordsなどを使用してください。

0

getLineを使用すると、1語の読み込みが必要な場合のみ使用できます。例えば。 word <- getLineを使用し、elem(現在はcharStream)で使用されているバインドを変更します。 getContentsをそのまま使用する場合は、の代わりにCtrl + d(EOF)を入力してからと入力してストリームを終了します。

関連する問題