在ruby

时间:2015-12-02 23:25:58

标签: ruby-on-rails ruby ruby-on-rails-3

我正在开发一个ruby on rails项目。在我的控制器中我有一个数组,我需要将这个数组中的所有数据复制到另一个数组,除了那些没有通过条件的数组。

例如我有一个数组

a = [1,2,3,4,5]

我将接受用户的输入。如果用户的输入是3,那么它必须从阵列中复制所有其他元素' A'阵列' B'除了3.数组B必须是[1,2,4,5]

我该怎么做?

2 个答案:

答案 0 :(得分:1)

Array的Ruby文档为您提供了操作数组所需的大部分信息。

例如,您可以使用Array#reject删除符合条件的值或Array#delete

在你的情况下:

a = [1,2,3,4,5]
# value taken from the user
input = params[:input].to_i

a.delete(input)
# now a is the array without the element

答案 1 :(得分:0)

b = a.select { |element| element != 3 }

您可以在select中使用任何条件。

http://ruby-doc.org/core-2.2.0/Array.html#method-i-select