我正在学习Oz,但除了官方文档外,除了很少的在线资源外,我真的很努力想要了解如何通过列表扫描来创建工作分区功能。在这个例子中,我只是想返回列表的第一个数字。我将如何做到这一点? declare
fun {Partition ?X}
case X of nil then nil
else
{Show "HELLO!"}
RETURN FIRST DIG
我一直在这个问题上抨击我的头,有一段时间我无法弄清楚。我读过维基百科和几本书“自由变量和约束变量”的自由变量的定义,但我不能得到正确的答案 考虑下面的代码: local A B C=1 D=2 in
A = 1
proc {Add E F G}
E = A + D + F
end
end
其中这些标识符(A,B,C,D,E,F,G)是免费标识符?
我想用oz语言做一个列表: 但我不明白 这是我的简单想法,但它不是正确的,你能帮我吗 declare
fun {Permute L }
if L==nil then nil
else L.2.1|L.1|L.2.2
end
end
fun {Trie L }
if L==nil then nil
elseif L.1 < L.2.1 the
我对Oz很新,很抱歉,如果这是有点基本的。以下代码用于计算圆的面积,直径和圆周不起作用。它会抛出一个错误,指出“应用程序中的非法链接”。我曾尝试以许多不同的方式调整代码,但通常最终会出现某种错误。 下面是代码: local
Pi Area Diameter
proc {Circle R}
Pi = 355/113
Area = R * R * Pi
下面的代码编译并运行正常: fun {Tokenize Lexemes}
case Lexemes of
Head|Tail then
case Head of
"+" then
operator(type:plus)|{Tokenize Tail}
else
if {String.isFloat H
我是编程的新手。我一直在解决函数式编程(OZ)中的一个简单问题,它正在查找6位正整数的数字之和。例如: - if n = 123456然后 output = 1+2+3+4+5+6 which is 21。 在这里,我发现像下面 fun {SumDigits6 N}
{SumDigits (N Div 1000) + SumDigits (N mod 1000)}
end
的解决方案,它说