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

このクラスをコンパイルすると、 error: expression at statement position が発生します。このエラーを修正するために小さなコードを約 1 時間チェックしていますが、うまくいきませんでした。問題を見つけるのを手伝ってください。ありがとうございました。

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 に答える