問題タブ [ml]
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.
function - 標準 ML: さまざまな型を返す
別の関数に渡された関数に基づいて、別の値を返す必要があります。
したがって、与えられた:fun inc x = x + 1;
と:fun double [] = [] | double (h::t) = 2*h::double (t);
私が取り組んでいる関数を呼び出すことができるはずです。
呼び出し例 (作成している関数の名前は test です):
test (inc, 5);
- そして、それは6を返します
-また-
test (double, [1,2,3,4]);
- そしてそれは[2,4,6,8]を返します
関数が額面どおりにこれを行うことができないことは知っていますが、これは抽象化のレイヤーを通じて可能ですか?
recursion - 再帰的データ型を使用して ML で関数を作成する方法
データ型が与えられた場合:
たとえば、この再帰関数の合計を返す関数を設計するにはどうすればよいですか。再帰関数を定義する方法とその使用方法を少し理解していますが、「ex」がオンラインでデータ型の束をどのように変更するか、または他の参考文献を見つけることができません。
concurrency - MLレフリーのアクセス保証?
同時アクセスに直面した場合のMLのRefタイプによるアクセス保証はありますか?
expression - ML Expression、行ごとのヘルプ
行ごとの説明を探しています。私は ML が初めてで、オンライン コードを解読しようとしています。また、「let/in」コマンドの説明も非常に役立ちます。
filter - Standard ML(MoscowMLを使用)この関数の何が問題になっていますか?(フィルター)
これは宿題の一部なので、私の目標はこれが間違っている理由を理解することです。前に述べたように、私はモスクワMLを使用しています。
私が得るエラーは次のとおりです。
私はドキュメントを読んでいますが、それは本当に役に立ちませんでした。私が本当に得られないのは、'bリストがどこから来ているかです。私たちの割り当てでは、末尾再帰のあるアキュムレータを使用する必要があります。私のエラーは、フィルターが関数fを呼び出す方法だと思います。Filterは述語を引数として取り、fは最初は空のリストであるリストとアキュムレータを取ります。
私はfを次のように呼び出してみました:f L []、しかし他の例では、実際に引数を使ってfを呼び出す必要はなく、どういうわけか自動的に渡されました。
とにかく、私の間違いがどこにあるのかを理解する助けと、問題を解決する方法についてのガイダンスをいただければ幸いです。
-aitee
(また、誰かが私に型式エラーをデコードするためのヒントを教えてくれるなら、それも非常に有益かもしれません。)
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関数を修正するにはどうすればよいですか?どんなに大きくても小さくても、どんな助けでも私を大いに助けてくれるでしょう。
smlnj - 標準MLバイナリツリー
私はまだこれに問題があるので、もっと助けを求めることができます。
私たちは与えられます:
パート1。データがツリーのリーフにのみある「which」タイプの値を含むバイナリツリーに対して、whichTreeという名前の別のデータ型を作成する必要があると言われています。
私はこれが正解だと思いました:
私が走ったときとは違うことがわかりました:
エラーが発生します。
私はこのようなことができることを理解することができました:
また
しかし、私の最初のケースではデータ型名に'aが含まれており、他のケースでは、どちらを使用して文字列またはintを指定できる必要があるのか、Leafofintと言っているのでどちらも正しくないようです。
誰かがそれの正しい答えを教えてもらえますか、それとも私に助けを提供できますか?
smlnj - SML /MLIntからStringへの変換
私はこのコードを持っています:
関数を実行すると、「32123)231)12)))」という出力が得られます。
答えは「((32((123)(231)12)))」でなければなりません。
関数を変更して追加しようとしました(考えられるすべての場所で、「(」を追加する場所がわかりません。どこで混乱しましたか?)
編集:どこかでmapまたはList.filterを使用する必要があると思いますが、どこで使用するかわかりません。
sml - 入出力操作-ML
私はMLを学んでいます。MLの基本的な入出力機能を手伝ってくれる人はいますか?コンソールから入力を読み取り、それを変数に格納して、MLプログラムで使用したいだけです。
助けてください。あなたがこれのいくつかの例に私を向けることができれば、それもまた素晴らしいでしょう!!! ありがとうございました。
module - OCamlのネストされた署名の例?
OCaml では、シグネチャをネストできます:
必要な場所が思いつかないので、誰かがこれを使用している例を持っているかどうか疑問に思っていました. おそらくファンクタのリターン シグネチャで役立つと思いますが、具体的なことは思いつきません。