javascript - dart 递归类方法总是返回 null

标签 javascript recursion dart

这对于 dart 来说似乎是不可能的?即让类方法递归并最终返回一个对象?当我运行递归方法时,如果它至少递归了一次,它总是返回 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...

我对 dart 非常陌生,不知道为什么会发生这种情况。有任何想法吗?这是理智的吗?

如果不是:我做错了什么?

最佳答案

需要返回 this.throw_rock()

也就是说,您想要返回 to_throw 变量,或者递归调用的结果。

关于javascript - dart 递归类方法总是返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11813501/

相关文章:

javascript - 从 JavaScript 中的 JSON 对象访问多级 key

javascript - 将 jQueryUI 可排序列表与表单一起使用

python - 优化python中的递归

python - 替代Python中的全局变量

java - java中元素递归计数的堆栈溢出

flutter - 操作系统错误:连接被对等方重置,errno = 104,地址= storage.googleapis.com,prort = 37890

dart - 核心样式和类似乎不起作用

javascript - 如何在文本框中显示可拖动的div宽度

flutter - 如何在 Flutter 页面加载时自动启动动画?

javascript - 如何在没有jquery的情况下按属性选择项目?