Curl Global Community

Full Version: あるインスタンスからの問合せが終了しない
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
下記のクラスのインスタンスから、問合せ(askメソッド)を受けるのですが、どうしても処理が1回で終わらず、
リターンされたと思っても、もう一度戻ってきて、また問合せが呼び出されてしまいます。
どうすればいいですか?

また、パブリックなはずのフィールド(wife)も、
どれだけ呼び出しても値を取得できず、理由がわかりません。
わかる方がいらっしゃったら教えてください。


Code:
{define-class public abstract Colonbo {inherits Man, Lieutenant}

  field private _wife:#Person = {uninitialized-value-for-type Women}
  {getter public {wife}:#Women
    {return null}
  }

  {method public {on-murder-case e:MurderCase}:void
    def check-person = {self.check-murder-case e}
    {while (check-person == e.murder) do
        def ret = {popup-question-to check-person}
        {if true then
            def key = {self.ask check-person, e.keys}
            {if key.proof? == true then
                set e.murder = check-person
            }
        }
    }
  }
  {method protected {ask person:Person, keys:{Array-of Key}}:Key
    let key:Key = {Key}
    def appendix-keys = {self.hunch keys}
    {for k in keys do
        {self.ask-impl person, k}
    }
    {after 2s do
        {self.ask person, appendix-keys}
    }
    {return key}
  }


Furuhataクラスのインスタンスでも同じ現象が発生しました。


このクラスにはwifeの代わりにimaizumiとsaionjiというフィールドがあるようで、
imaizumiを呼び出すと必ずUnbelievableExceptionが発生します。
きっとそのクラスの親クラスがこれなのでしょうね。