sml

    1

    1答えて

    私は最近smlを学んで、それをJavaと比較して使い方を混乱させました。だから私は、連続した値のペアをとり、それらを加えて新しいリストに合計を挿入するコードを作ってくれたと言われました。 元のリストの長さが奇数の場合、最初のn-1アイテムはペアごとに追加され、n-thアイテムは新しいリストの最後にそのままコピーされます。 だから私のコードは、これまでのところです: fun sumpairs x =

    0

    3答えて

    任意のタイプのリストを取り、リストが実数のリストである場合にのみhead要素を返すサンプル関数を書きたいと思います。 これ以外の場合は、エラーメッセージ が表示されます。 。 。オペレーターとオペランドはありません。 。 。 datatype typeR = Real of real fun head(xs) = case xs of [] => raise List.Em

    0

    1答えて

    パターンマッチング技術を使用して、リスト内のすべての要素のペアを再帰的にスワップする必要があります。したがって、[1, 2, 3, 4, 5]は[2, 1, 4, 3, 5]を返します。私が発見した 2つのこと: List.length:長さを返します。これは、偶数/奇数リストを処理するのに役立ちます。 List.nth:リストの指定された場所に値を戻します。 drop.(list, i):最初の

    1

    1答えて

    私はここですべてをやろうとしていましたが、何も起こりませんでした。空のリストで呼び出すと、コードは正常に動作していますが、空のリスト[]を入れるとすぐに問題が起こります。それはダミーの種類 '警告し、次のコードにいくつかのエラーでポップアップ表示されます: fun zip(xs1, x2) = case xs1 of [] => [] | (h1::t1) =>

    1

    2答えて

    私は、2つの自然数N1を受信SMLで再帰関数を記述しようとしてN2と、次のようにN1のdiv n2の の結果を返すデータ型の自然が定義されています: datatype natural = zero | Succ of natural 私が欲しいです新しいデータ型の観点から記述するか、またはそれらを通常の形式に変換して結果を変換することではありません。 この定義ではどのように分割されていますか?

    2

    2答えて

    私はSML(Javaの世界から来ている)と私が理解しているところから比較的新しいです 構造体はJavaクラスと似ています&署名はJavaインタフェースです。 SML構造のすべてが不変です。値を設定できる変数を持つ可能性はありますか? functor Make(M : sig type data val callback : _ end) = struc

    -1

    1答えて

    私はMLを使い慣れていますので、私は理解するために最善を尽くしています。 alternate : 'a list -> 'a listというML関数を作成します。この関数は、同じ長さの2つのリストを入力として取り、1番目と2番目の入力リストから要素を交互に取った出力リストを生成します。 例 alternate ([1,3,5],[2,4,6]) = [1,2,3,4,5,6] これが私の仕事で

    0

    1答えて

    私はML言語について研究し学びます。私は質問をして、それを解決するのが難しいです。私はTraverse、Size、Substring関数を使うと確信していますが、何らかの形で入れることはできません。ちょっと混乱します。手伝ってくれる? 質問: val x = [ ["National", "Aeronautics", "and", "Space", "Administration"]

    1

    1答えて

    これらの戻り値の型違いは何ですか? val fn1 : int −> (int −> (int −> int)) val fn2: (int −> int) −> (int −> int) これはタイプ int -> int -> int meaning int -> (int -> int) の関数を作成し、その右にありますか?彼らはブラケットなしで同じ意味を持っています!

    -1

    2答えて

    SMLラムダの微積分変換関数を作成していますが、いくつかのエラーが発生しましたが、修正方法はわかりません。 cfunf id (CAPP(e1,e2))= if not(cfree id (CAPP(e1,e2))) then CAPP(CK,CAPP(e1,e2)) else if ((CID id) = e2) andalso not(c