SML でファイルからテキストを読み込もうとしていますが、うまくいきません。これが私が試していることです
fun read file =
let val inStream = TextIO.openIn file
in
TextIO.StreamIO.input1 inStream
end
実際の関数呼び出しinput1
は重要ではありません。私が望むのは、ファイルから読み取ることができることだけです。
SML でファイルからテキストを読み込もうとしていますが、うまくいきません。これが私が試していることです
fun read file =
let val inStream = TextIO.openIn file
in
TextIO.StreamIO.input1 inStream
end
実際の関数呼び出しinput1
は重要ではありません。私が望むのは、ファイルから読み取ることができることだけです。
あなたのエラーは にありTextIO.StreamIO.input1
、おそらくTextIO.input1
.
StreamIO を使用してファイルを操作する必要がある/したくない場合は、によってinstream
返される型を関数で に変換する必要があります。openIN
StreamIO.instream
TextIO.getInstream
SML Basis ライブラリのTEXT_IO signatureで、これらすべてについて詳しく読むことができます。
読み取りが完了したら、ファイルを閉じることをお勧めします。
アップデート
コメントで提案されているように、ファイル全体を読み取るか (ファイルが小さいことがわかっている場合)、1 行ずつ読み取ることができます。
コンテンツを単語ごとに取得したくない場合、最も簡単な方法は、コンテンツを空白で分割することです。このようにして、ファイルの個々の「単語」を表す文字列のリストが作成されます。