Ruby [已经解决] Ruby 编程语言 第 133-134 页 有一个疑问

shin · 2012年12月10日 · 最后由 small_fish__ 回复于 2012年12月10日 · 1936 次阅读
def sequence(n, m, c)
  i = 0
  while(i<0)
    yield m * i + c
    i += 1
  end
end
sequence(3,5,1) {|y| puts y}

结果是 1 6 11

如果我把方法中 yield 删除,程序也运行顺利,求解?

def sequence(n, m, c)
  i = 0
  while(i<0)
    m * i + c
    i += 1
  end
end
sequence(3,5,1) {|y| puts y}

结果是 1 6 11

你确定你把 yield 删除还能打印出来?

你的 while 循环写的貌似就不对吧

@ptmagic 失误,删除后打印不出了!

貌似是 while(i<n)吧

需要 登录 后方可回复, 如果你还没有账号请 注册新账号