問題タブ [smlnj]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
980 参照

functional-programming - SML のプロトタイピング関数

2 つの関数 と がfありg、これらは相互に再帰的に呼び出します。残念ながら、 をf呼び出すとg、まだ宣言されていないため、「バインドされていない変数」エラーが発生します。SML/NJ でこの関数をどのようにプロトタイプ化できますか (または同等の語彙が何であれ)。

0 投票する
3 に答える
1750 参照

queue - SML/NJでキューライブラリを使用するにはどうすればよいですか

SML/NJにキュー構造が含まれていることがわかります。使い方がわかりません。SML / NJが提供する追加のライブラリを使用するにはどうすればよいですか?

0 投票する
1 に答える
426 参照

sml - ビットレベルでファイルを比較するSML

SMLを使用してディレクトリ内のファイルを比較しようとしています。TextIOライブラリの使用はかなり簡単ですが、ファイルをビットレベルで比較する必要があります。つまり、バイナリ比較です。私はこれに似た関数を使用しています:

特定のディレクトリ内のすべてのファイルを一覧表示します。しかし今、私は各ファイルのビットを見る必要があります。助言がありますか?

0 投票する
2 に答える
466 参照

smlnj - smlnjlistdirの問題

私はsmlを学ぶ初心者であり、私が与えられた質問には、私が理解していないIO機能が含まれています。これが私が始めるために本当に助けを必要とする2つの質問です、私にコードといくつかの説明を提供してください、私は他の質問のために与えられたコードで試行錯誤を使うことができます。

Q2)ファイル名のリストを読み取るreadlist(filename)(それぞれが(Q1)のlistdirによって生成され、それらを1つの大きなリストに結合します(Q1のテキストファイルから読み取り、内容を含む1つの大きなリストに割り当てます)。すべての情報)

実は、私は学校の講師から紹介セクションで学んだだけで、システムの入力や出力の例も示されておらず、「ファイルの使用」機能も教えられていません。smlを知っている人がこれを見たら、助けてください。私を助けるために努力してくれた人に感謝します。

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

ところで、もしあなたがこの投稿を見続けているのなら、質問もしてみてください。現在、txtファイルから読み取ってリストに追加しようとして立ち往生しています。1行で実行できますが、ファイル全体で実行しようとしています。

0 投票する
1 に答える
166 参照

smlnj - smlnj は listdir(filename, directoryname) の質問を言い換えました

私はsmlを学習している初心者で、投げられた質問にはIO関数が含まれており、読んだ後でもそれがどのように機能するのかわかりません。これは、私が始めるために本当に助けが必要な2つの質問です。コーディングと説明を提供してください。他の質問に与えられたコードで試行錯誤することができます。

Q1) ディレクトリの名前を指定した listdir(filename,directoryname) は、その内容をテキスト ファイルに一覧表示します。このリストは、ファイル名、日付、およびサイズを簡単に区別できる形式になっています。(msdos が "dir" で行うことと似ていますが、単に一覧表示するのではなく、すべてのファイルと詳細をテキスト ファイルに配置します。

Q2) ファイル名のリストを読み取る readlist(filename) (各ファイルは (Q1) で listdir によって生成され、それらを 1 つの大きなリストに結合します。(Q1 でテキスト ファイルから読み取り、内容を含む 1 つの大きなリストに割り当てます)すべての情報)

事は、私が学校の講師から紹介セクションで学んだだけで、システムの入力または出力の例さえ示されておらず、「ファイルを使用する」機能さえ教えられていません。sml を知っている人がこれを見たら、助けてください。私を助けてくれた努力をしてくれた人に感謝します。

返信ありがとうございます。現在、私は SMLNJ を使用してこれを試しています。基本的に、Q1 では、「filename」のテキスト ファイルに指定された「directoryname」のディレクトリのファイルを一覧表示する必要があります。Q2 では、「ファイル名」テキスト ファイルから読み取り、その内容を 1 つの大きなリストに配置する必要があります。

複製: smlnj listdir

0 投票する
1 に答える
2982 参照

smlnj - SML/NJ のテキスト ファイルの行をループする

テキスト ファイルから 1 行を読み取り、リストを返すこの SML/NJ コードがありますが、すべての行に対して同じことを実行し、行がなくなると停止するのに問題があります。ここでループのサンプルを教えてください。

0 投票する
2 に答える
1386 参照

sml - SML/NJ インタラクティブ ループをカスタマイズするにはどうすればよいですか?

私は標準 ML を初めて使用し、SML/NJ ランタイム環境について理解しようとしています。私はそれを私のニーズに合わせたいと思っています。具体的には、次のことを行います。

  • デフォルトで IntInf を使用
  • 文字列と IntInf が 70 文字に切り捨てられないようにします。

8 時間以上かけてドキュメントを読み、実験してわかったことを次に示します。

コマンドを使用して、int の上に IntInf をオーバーロードできます

変数 Control.Print.stringDepth を使用して、表示される文字列の文字数を制御できます。たとえば、これにより、切り捨てられる前に 1000 文字が表示されます。

IntInf 値に対して同じことを行うにはどうすればよいですか? 深さを無限に設定することはできますか (つまり、切り捨てはまったくありません)?

IntInf を開くことは、IntInf で int をオーバーロードする最良の方法ですか?

最後に、実行時にこれをすべて自動的にロードして、「sml」を呼び出したときにデフォルト環境になるようにするにはどうすればよいですか?


編集: Control.Print.intinfDepth というオプションがあり、大きな数値 (999999 など) を設定できることがわかりました。ただし、無限にする方法はわかりません。

私の他の質問はまだ答えられていません。


編集: Kansas State のクラス向けに、この SML/NJ カスタマイズのセットに出くわしました。独自のバナー メッセージを表示し、「val it = true : bool」を表示しないようにするには、SMLofNJ.exportML の戻り値をテストする必要があります。そうであれば、ヒープ イメージが復元された (つまり、起動された) だけであり、メッセージを表示できます。false の場合、ヒープ イメージは保存されたばかりです。

0 投票する
1 に答える
14698 参照

sml - SML の case ステートメント内にどのように出力しますか?

私は SML を使い始めたばかりで、何をしているのかを理解するためにいくつかのコードを変更しようとしています (適切な SML/NJ デバッガーが見つかりませんが、それは別の質問です)。

これは、constant_int が既に宣言されているデータ型の一部であるなどの有効なコードであると仮定します。「"整数" を返す」という print ステートメントをケースに追加するにはどうすればよいですか? 私は試した:

しかし、私は得る:

一連のステートメントを実行する方法を理解していないだけだと思います。最後のステートメントのみを戻り値として扱う必要があります。何かアドバイス?

また、自分のデータ型の値をどのように出力しますか? データ型の値を print() に渡そうとしたときに SML が気に入らなかったので、データ型ごとに新しい印刷関数を作成する必要があると思いますが、正しいですか?

0 投票する
2 に答える
2670 参照

sml - SMLで型を強制する方法(キャストなど)

Rationals(int * int)の構造を作成していて、関数の1つは次のとおりです。

gcdは私に最大公約数を与えるので、私は2/8ではなく、本来の1/4になります。gcdはmodを使用してgcdを検索するため、intを返します。しかし、除算を使用した式をintとして入力することはできません。diff宣言の最後に追加しようとする: int * intと、式real*realとint*intが一致しないという型エラーが発生します。

整数除算を強制したり、式を整数にキャストしたりするにはどうすればよいですか?両方が可能であれば、どちらが良いですか?

0 投票する
2 に答える
769 参照

sml - SML 関数呼び出しが引数を引数として解析しない

SML 関数を呼び出す際の優先順位の問題と思われるものを取得しています。

そして、私は別の関数からこれを呼び出しています:

しかし、私はエラーが発生します:

これは、(代わりに v) を呼び出し、その呼び出しの結果を引数 new_var で呼び出そうとしていることを示唆しているようです。

全体に括弧を追加しようとしましたが、それは役に立ちません。引数の周りに括弧を追加する(v new_var...)と、v が new_var の関数アプリケーションであると見なされるようになります。この関数呼び出しで何が起こっているのでしょうか?