如何在一行中进行链移和采样方法

时间:2013-04-26 06:55:24

标签: ruby chaining

假设你有一个数组:

a = [2, 5, 8]

要摆脱第一个元素,您可以使用shift

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

sample上执行a没有问题:

a.sample # => 5

似乎不可能将两种方法都链接起来。你得到了

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

这样做最有效,最简洁的方法是什么?上下文通过wins_combo数组迭代Ruby tic tac toe程序。我不想修改原始数组。

1 个答案:

答案 0 :(得分:2)

使用以下内容:

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