Parallel Assignment

by winson, about 1 year ago.

學語言一定都遇過這類問題,如何交換兩個變數的值?一般是這樣子做的:
int a = 1;
int b = 2;
int temp = a;
int a = b;
int b = temp;
這麼囉唆的語法,到了Ruby變成這樣子:
a, b = b, a
運用在類別方法上,如果最後該方法丟回兩個值,運用Parallel Assignment,那麼你就可以一次接到兩個值。
class TestReturn
  def initialize(a, b)
    @a = a
    @b = b
  end
  def returnme
    @a, @b
  end
end

test = TestReturn.new(1, 2)
var1, var2 = test
那麼,如何跑三次迴圈呢?一般是這樣子:
for ( int i = 1, i < 4, i++ )
    { blahblah... }
Ruby變成這樣子:
3.times do { blahblah... }
Ruby人真的是一群懶惰蟲。

  • Posted in Ruby, Sugar, on Wednesday, March 21, 2007, at 12:10 AM.