0

これはダーツでは不可能なようですか?つまり、クラスメソッドを繰り返して、最終的にオブジェクトを返すようにするには?再帰メソッドを実行すると、少なくとも1回再帰した場合、常にnullが返されます...

例:

// some class method
rock throw_rock() {
  // look at its own collection of rocks
  // get a rock and do a test on it
  rock to_throw = this.rocks[53]; // lets assume its in a map at key 53...
  if (to_throw.been_thrown == 1) {
    // ok, dont throw this one, instead recurse and find another
    this.throw_rock();
  } else {
     return to_throw;
  }
}

他のクラスまたはメインで:

rock g = rock_thower.throw_rock();
// if rock thrower has had to recurse
// g will be null...

私はダーツに非常に慣れていないので、なぜそうなるのかわかりません。何か案は?これは正気ですか?

そうでない場合:私は何を間違っているのですか?

4

2 に答える 2

4

である必要がありますreturn this.throw_rock()

to_throwつまり、変数または再帰呼び出しの結果のいずれかを返したいということです。

于 2012-08-05T02:26:35.457 に答える