我的课:
declare
class Collection
attr list
meth init
list := nil
end
meth put(X)
list := X|@list
end
meth get($)
if @list == nil then
nil
else
local X in
X = @list.1
list := @list.2
X
end
end
end
end
我的测试用法:
declare
C = {New Collection init}
{C put(4)}
{C put(5)}
{Browse {C get}}
错误:
%**********************静态分析错误******************** %** %** 对象应用程序中的参数数量非法 %** %** 对象:C %** 找到的数字:2 %** 预期:1 %** 在文件“Oz”中,第 62 行,第 9 列 %** ------------------ 被拒绝(1 个错误)
第 62 行是带有“浏览”的行
这是因为 Oz 试图通过传递结果参数来像函数一样使用对象过程吗?如果是这样,函数式方法的意义何在?如何使用它们?