sml

    0热度

    1回答

    计数一棵树后,我有一个问题,我的工作,在那里我有一次遍历树并计算每个节点有多少个子。 这有两个部分,数据类型和函数本身。 数据类型 数据类型需要的内部节点存储任何类型的值,并且有1-3个孩子的任何地方。叶子本身可以存储实数或字符串列表。 ​​ 功能 接着,我必须定义一个函数,它接受一个树,并返回一个元组(N1,N2,N3),其中n1是具有节点的数一个孩子,n2有两个孩子的节点的数量,n3有三个孩子

    1热度

    1回答

    我试图写在SML一个函数,它给出的一般元素的列表时,重新排序其元素为等价类,并返回这些类(类型“列表,列表)的列表。 离开在相同的顺序类的元素以原始列表。 给定函数定义的元素的等价,如果元素是等价的或否则为false返回true。 我似乎无法得到解决一握。 fun sample x y = x = y 所需类型:FN:( '' 一 - > '' 一 - > BOOL) - > '' 的列表 -

    0热度

    1回答

    从我了解到, fun addX (X, []) = [] | addX (X, y::ys) = (X + y :: addX(X, ys)); 工作完全正常,但是当我试图通过列表2用此方法繁殖列表1,这是给我“警告:match nonxhaustive“,这里是我的代码: fun multList ([], []) = [] | multList (x::xs, y::ys) = (x

    2热度

    1回答

    总结两个部分我有一个定义的数据类型 datatype expression = Constant of int | Variable of string | Operator of string * expression | Pair of expression list | List of expression list

    1热度

    1回答

    比方说,我有以下的树数据类型: datatype 'a tree = Empty | Node of 'a * 'a tree * 'a tree; val x = Node(10, Node(20, Empty, Empty), Node(30, Empty, Empty)); 这里,x是int类型树的变量。我想知道的是如何解析和评估树的不同部分只有变量x? 例如,在此功能: fun ad

    1热度

    1回答

    我感到有点糊涂了“匹配冗余”的错误运行下面的代码时,我得到: datatype expression = Constant of int | Variable of string | Operator of string * expression | Pair of expression list | List of expression l

    6热度

    1回答

    我知道我可以这样写SML中的y-combinator,如下所示: 首先声明一个新的数据类型来绕过由于圆形造成的类型不匹配。 datatype 'a mu = Roll of ('a mu -> 'a) val unroll = fn Roll x => x 现在您可以轻松定义的Y组合子: val Y = fn f => (fn x => fn a => f (unroll x x) a)

    1热度

    2回答

    没有使用大小写表达式(在类的下一节出现),我看不出为什么以下不做快速排序。它在某个地方进入循环,永远不会结束。 splitAt和append已经过测试,但这里是他们的代码。 fun append(xs, ys) = if null xs then ys else (hd xs) :: append(tl xs, ys) fun splitAt(xs : int list, x : int

    0热度

    2回答

    我有2个列表。它们的长度总是相同,可能看起来就像这个玩具的例子。实际的内容是不可预测的。 val original = [1, 2, 0, 1, 1, 2] val elements = ["a","b","c","d","e","f"] 我想创建以下列表: val mappedList = [["c"],["a","d","e"],["b","f"]] 0 1 2

    3热度

    2回答

    [...]一对函数tofun : int -> ('a -> 'a)和fromfun : ('a -> 'a) -> int使得(fromfun o tofun) n计算结果为n每n : int。 任何人都能向我解释这实际上是什么要求?我正在寻找更多的解释,而不是实际的解决方案。