相关疑难解决方法(0)

Ruby中的Parallel Assignment操作符

我正在阅读Ruby编程中的一个例子:

def fib_up_to(max)
  i1, i2 = 1, 1 # parallel assignment (i1 = 1 and i2 = 1)
  while i1 <= max
    yield i1
    i1, i2 = i2, i1+i2
  end
end
fib_up_to(100) {|f| print f, " " }
Run Code Online (Sandbox Code Playgroud)

这只是将Fibonacci数字打印到100.这很好.当我用以下内容替换并行分配时:

i1 = i2
i2 = i1+i2
Run Code Online (Sandbox Code Playgroud)

我没有得到所需的输出.

是否可以使用并行分配?我来自Java背景,看到这种类型的赋值感觉真的很奇怪.

还有一个问题是:并行分配是运营商吗?

ruby

18
推荐指数
1
解决办法
1万
查看次数

标签 统计

ruby ×1