sml

    0热度

    1回答

    我有这种特殊的类型,采取。 type taken = {course:string, student:int, grade:real}; 我想查看这种类型的列表,找到匹配的课程和学生。如果我找到一个,那么我必须将等级更改为预设变量G.下面是我现在所拥有的。 exception unTaken; fun updateGrade (T:taken, []:taken list) = raise

    0热度

    2回答

    我有下面的代码: datatype eInt = infinity of int | 0 | Int of int; exception undefined; fun eAdd(e1:eInt, 0:eInt) = e1 | eAdd(0, e2) = e2 | eAdd(e1, infinity) = infinity | eAdd(infinity, e1)

    3热度

    2回答

    ML中可能允许ML中的变量有多种类型吗? 例如,如果我想树中的一个节点只是一个int或一个字符串。 Node of int * string 我试过这个,但它只是产生(int,string)的元组类型。我不希望它是一个元组,只是一个int或一个字符串。这是否允许?

    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

    1热度

    3回答

    我一直在将字符列表转换为int列表时遇到问题。我的目标是基本上取一个数字,如325,并返回一个[3,2,5]的列表。到目前为止,我所做的是取出数字,然后将其转换为字符串,然后将其分解为char数组。然后我想将每个字符转换为相应的int。当我将char列表映射到fn c => Char.ord(c)时,char列表变成了一个?.int列表,这阻止了我对它进行操作(+, - )。我是ML新手,对其类型