0

考虑以下代码:

declare
class Test
   attr L
   meth init L:=nil end
   meth put(X) {Browse @L} end
   meth get {Browse @L} end
   meth isEmpty @L==nil end
   meth getList @L end
   meth setNil L:=nil end
   meth union(C) {Browse @L} end
end

当我编译这个类时,它给出了错误:语句位置的表达式。我正在检查我的小代码大约一个小时来修复这个错误,但没有运气。请帮我找出问题所在。谢谢你。

4

1 回答 1

3

你的方法不能返回一些东西!isEmpty并且getList应该是

meth isEmpty(R) R=(@L==nil) end
meth getList(R) R=@L end

你可以使用

T={New Test init}
{Browse {T isEmpty($)}}

做'好像它有一个返回值'

其实{Browse {T isEmpty($)}}是一样的
local R in {T isEmpty(R)} {Browse R} end

对不起,我的英语不好

于 2014-03-31T15:29:29.977 回答