問題タブ [sml]

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 投票する
1 に答える
717 参照

list - smlのcharリストリストの内容を確認する

私の質問はここのようなものです

私はcharリストリストに取り組んでおり、1〜9がすべてのリストで1回使用されていることを確認する必要がありますが、リスト内のすべての位置でも1回使用されていることを確認する必要があります。

私のコードは次のようになります。

ただし、これは1〜9がリストのメンバーであるかどうかのみをチェックし、異なるリストの同じ位置にあるかどうかはチェックしません。

私はこの関数を使用することを考えました:

(関数poslistは、リストxsの位置nにあるものを返すことになっているので、charリストリスト内の個々のリストを分離できます)が、poslistはcharリストを返すため、rscheckは必要に応じてそれを処理できません。文字リストリスト。

1)poslistを改善できますか?

2)rscheckを修正するにはどうすればよいですか?

編集

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

filter - Standard ML(MoscowMLを使用)この関数の何が問題になっていますか?(フィルター)

これは宿題の一部なので、私の目標はこれが間違っている理由を理解することです。前に述べたように、私はモスクワMLを使用しています。

私が得るエラーは次のとおりです。

私はドキュメントを読んでいますが、それは本当に役に立ちませんでした。私が本当に得られないのは、'bリストがどこから来ているかです。私たちの割り当てでは、末尾再帰のあるアキュムレータを使用する必要があります。私のエラーは、フィルターが関数fを呼び出す方法だと思います。Filterは述語を引数として取り、fは最初は空のリストであるリストとアキュムレータを取ります。

私はfを次のように呼び出してみました:f L []、しかし他の例では、実際に引数を使ってfを呼び出す必要はなく、どういうわけか自動的に渡されました。

とにかく、私の間違いがどこにあるのかを理解する助けと、問題を解決する方法についてのガイダンスをいただければ幸いです。

-aitee

(また、誰かが私に型式エラーをデコードするためのヒントを教えてくれるなら、それも非常に有益かもしれません。)

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

list - SMLのリストから要素を抽出する

リストから指定された要素を抽出しようとしていますが、一致例外が発生しますか?

目標は、関数を次のように動作させることです。

そして、私はこのようにそれをやろうとしています:

しかし、言ったように、私は

何か案は?たぶん、これに使用できるリスト関数が他にもいくつかありますか?関数を高階関数にするはずのカレー関数について説明しましたが、それがどのように機能するのかよくわかりません。

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

list - 実数リストからのインデックスの保存

sort : real list -> int list * real listmergesort を使用してリストをソートし、ソート前の個々の数値の元の位置を含む int リストを返す関数を宣言しようとしています。

おそらく、次の例が理解しやすくなります。

これで、リストの並べ替えは非常に簡単になりましたが、元の位置を記憶してから int リストを作成する方法を理解するのに苦労しています。

ヘルプ?

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

types - 標準ML二分木タイプ

私はクラスでMLを勉強していますが、宿題の問題にぶつかりました。私は昨日一日中検索をしましたが、ほとんど進歩がなく、クラスでこれについて話しませんでした。皆さんが私を助けてくれることを願っています。

私たちは与えられます:

パート1。データがツリーのリーフにのみwhichTreeあるタイプの値を含むバイナリツリーにちなんで名付けられた別のデータタイプを作成する必要があると言われています。which

パート2。intがツリー内にあるかどうかに基づいて、trueまたはfalseを返すwhichSearch型を持つ関数を作成する必要があります。whichTree -> int -> bool

これは私がこれまでに持っているものです:

私が今直面している問題はこれです:

  1. MywhichTreeにはタイプが含まれていませんwhich。どうすれば修正できるかわかりません。
  2. 私は自分whichSearchの型の関数を持っているべきですwhichTree -> int -> boolが、それはint * whichTree -> bool問題を修正する方法を見つけようと取り組んでいます。検索するにはiinの値を指定する必要があるため、これを修正する方法がわかりません。whichSearch私はこれを探していますが、どんなヒントも素晴らしいでしょう。

誰か助けてもらえますか?もしそうなら、ありがとう!そして、すでに応答してくれた人たちに感謝します。

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

smlnj - 標準ML順列

リスト内のすべての値の順列に対する関数に取り組んでいます。

これが私がこれまでに持っているものです:

出力:

出力は、[[1、2、3]、[1、3、2]、[2、1、3]、[2、3、1]、[3、1、2]、[3、 2、1]]。ご覧のとおり、ここで何かが足りません。問題は、rotate 3 [1,2]がコードから欠落しているものであり、2つの2要素リストが何らかの理由でここにあるため、私の3がrotateに渡されていないことだと思います。

出力を正しく表示するようにperm関数を修正するにはどうすればよいですか?どんなに大きくても小さくても、どんな助けでも私を大いに助けてくれるでしょう。

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

smlnj - 標準MLバイナリツリー

私はまだこれに問題があるので、もっと助けを求めることができます。

私たちは与えられます:

パート1。データがツリーのリーフにのみある「which」タイプの値を含むバイナリツリーに対して、whichTreeという名前の別のデータ型を作成する必要があると言われています。

私はこれが正解だと思いました:

私が走ったときとは違うことがわかりました:

エラーが発生します。

私はこのようなことができることを理解することができました:

また

しかし、私の最初のケースではデータ型名に'aが含まれており、他のケースでは、どちらを使用して文字列またはintを指定できる必要があるのか​​、Leafofintと言っているのでどちらも正しくないようです。

誰かがそれの正しい答えを教えてもらえますか、それとも私に助けを提供できますか?

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

smlnj - SML /MLIntからStringへの変換

私はこのコードを持っています:

関数を実行すると、「32123)231)12)))」という出力が得られます。

答えは「((32((123)(231)12)))」でなければなりません。

関数を変更して追加しようとしました(考えられるすべての場所で、「(」を追加する場所がわかりません。どこで混乱しましたか?)

編集:どこかでmapまたはList.filterを使用する必要があると思いますが、どこで使用するかわかりません。

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

syntax - SML 構文エラーのヘルプ

コードの次のセクションで、すべてのリソースを使用して調査しているにもかかわらず、エラーが発生する理由がわからないというエラーが表示されます。これが SMLNJ コーディングです。

与える

hw4.sml:339.5-433.6 エラー: 非コンストラクターがパターンの引数に適用されました: DeallocComm hw4.sml:427.26-427.29 エラー: バインドされていない変数またはコンストラクター: var

hw4.sml:430.31-430.34 エラー: バインドされていない変数またはコンストラクター: exp

与える

hw4.sml:612.14 エラー: 構文エラー: EQUALOP の挿入

hw4.sml:615.8-615.11 エラー: 構文エラー: VAL を END に置き換えています

これらについての助けをいただければ幸いです。

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

sml - SML モードの使用時に Emacs で SML バッファーをクリアする方法。

Emacs を SML モードで使用しています。時々、SML バッファをきれいにする必要があります。どうやってやるの。