2011-12-14 47 views
1

我想爲了做一個快速的變量賦值即如何在Ruby中「爆炸」一個數組?

a, b = ['first_var', 'second_var'] 

到「爆炸」在Ruby中的數組這可能嗎?我已經通過陣列文檔看了看,找不到任何東西,似乎提供了這一點,但它似乎Rubyish ...

+1

你寫的究竟應該工作代碼,你寫它。你到底在找什麼?你認爲你發佈的代碼有什麼錯誤? – meagar 2011-12-14 16:30:07

回答

4

這個工作你所期望的。請注意,您可以使用*來啜了額外的右手邊的元素,而在左側多餘的元素將被設置爲nil

>> range = *1..10 #=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
>> a, b = range #=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
>> [a, b] #=> [1, 2] 
>> a, *b = range #=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 
>> b #=> [2, 3, 4, 5, 6, 7, 8, 9, 10] 
>> a, b, c = 1,2 #=> [1, 2] 
>> C#=> nil