2013-04-26 17 views
1

說有一個數組:你如何在一個線法鏈轉移和樣品

a = [2, 5, 8] 

爲了擺脫的第一要素,所以你可以使用shift

a.shift # => 2 
a # => [5, 8] 

沒有問題做samplea

a.sample # => 5 

這似乎並不可能做到博鏈接的方法。你得到

a.shift.sample # => undefined method `sample' for 2:Fixnum 

什麼是最有效和簡潔的方式來做到這一點?上下文遍歷一個Ruby tic tac腳趾程序的winning_combo數組。我不想修改原始數組。

回答

2

使用如下:

a = [2, 5, 8] 
p a.drop(1).sample #=>5 
a = [2, 5, 8] 
p a.drop(1).sample #=>8 
+0

完美,謝謝! – DnfD 2013-04-26 07:00:54

+4

這不會像FYI那樣修改像「shift」這樣的數組。 – squiguy 2013-04-26 07:01:56

+0

是的,我聽到你。在這種情況下非常好,因爲WINNING_COMBOS多維數組是一個常量。 – DnfD 2013-04-26 07:04:46

相關問題