2009-03-23 6 views
-1

私は初心者のsmlを勉強しています。質問には私が理解できないIO関数が含まれています。 ここに2つの質問があります。私は実際にコードを書いてください。いくつかの説明を私に提供してください。他の質問に与えられたコードで試行錯誤をすることができます。smlnj listdirの問題

Q2)ファイル名のリストを読み込んで(それぞれが(Q1)のlistdirによって生成され、それらを1つの大きなリストにまとめた)readlist(filename) (Q1のテキストファイルから読み込み、

私は導入部の学校の講師から学んだだけで、表示されているシステムの入力や出力の例はなく、「ファイルを使用」機能でもありません私に手伝ってくれた人のおかげです。

私はSMLNJを使ってこれを試しています。 Q1では、 "filename"のテキストファイルに提供された "directoryname"のディレクトリファイルをリストする必要があります。 Q2では、「ファイル名」テキストファイルから読み取って内容を1つの大きなリストに入れる必要があります。

ご参考までにこの記事を見ている人は、ぜひ質問してみてください。現在、私はtxtファイルから読み取ろうとし、それをリストに追加立ち往生、私は1行のためにそれを行うことができていていますが、現在はファイル全体のためにそれを行うにしようとしています:

fun readlist(infile : string) = 
let val ins = TextIO.openIn infile 

fun listing() = 
TextIO.inputLine ins; 

in listing() 
end; 
TextIO.closeIn; 
+0

あなたが求めていることは本当に明確ではありません。これらの2つの機能を実装する必要がありますか、実装されていて何かのために使用する必要がありますか? – jalf

答えて

1

それは非常にありますあなたが何を質問しようとしているのかを私が見分けるのは難しいです。

あなたが質問する機能は、ML用の標準ライブラリの一部ではありません。あなたがそれらを書くことになっているなら、何らかのPosixモジュールなしでは苦労するでしょう。あなたはインストラクターにこの課題を気にしていないことを伝えることができます。

モスクワMLは、見事にシンプルですlistDir機能が含まれます。より多くのヘルプを表示するには

- load "Mosml"; 
> val it =() : unit 
- Mosml.listDir "."; 
> val it = ["natural-semantics.djvu", "natural-semantics.pdf"] : string list 
- 

を、あなたが求めているものを少し明確にしてください。


EDIT:それはOS.Filesys構造から、私はあなたに答えを与えるべきではありませんが、いくつかの便利な機能がopenDirが含まれ、readDir、およびcloseDir宿題の質問ですので。これらはディレクトリ内の内容を示します。その後、ファイルを読み書きするには、TextIOが必要になります。

あなたはStandard Basis Library documentationが不可欠です。

+0

返信いただきありがとう、現在私はSMLNJを使ってこれを試しています。基本的には、Q1は "filename"のテキストファイルに提供された "directoryname"のディレクトリファイルをリストする必要があります。 Q2を使用するには、「ファイル名」テキストファイルから読み取って内容を1つの大きなリストに入れる必要があります。 –

+0

OK、使用する機能についていくつかの提案を追加しました。それらはすべてSML/NJにあります。少なくとも私のマシン上のバージョンは110.67です。 –

+0

Thxは関数のために役立ちます。私は楽しいことについてのいくつかの説明を頼むことができますか(a:何か)=最後に+1を+1しましょう "let"、 "in"、 "end"の仕組みが本当に分かりません。それらについて読む? –

1

あなたは確かに私に教えなかったでしょうか? 私は1つのチキンパイです。

+0

私はuse "file.sml"機能が教えられなかったことを確認でき、TEXTIOのことも教えられません。 教えられているものは、ほとんどがval a = something、list、funなものです(a、b)=何か;コースガイドの外には何もありません。ラボと講演はcmdを入力して "file.sml" –

関連する問題