Arrays 使用rails将数组中的第一条记录与所有其他记录分离的最佳方法是什么?

Arrays 使用rails将数组中的第一条记录与所有其他记录分离的最佳方法是什么?,arrays,ruby-on-rails-3,Arrays,Ruby On Rails 3,我有一个数据库select中的数组@tasks,我想单独显示第一个数组,然后循环任何其他数组 数组中始终有一个项,但可能有也可能没有多个项 如果还有其他项目,最好的方式是显示第一个项目,然后循环所有剩余项目 我想前几天我在电视上找到了类似的东西,但我似乎再也找不到了 谢谢 但是,在上面的例子中,如果a=[1],那么在ruby 1.9中,_rest将至少是nil,不知道大约是1.8 也可以使用.shift删除第一个元素,如下所示: 1.9.3-p327 > first = a.shift

我有一个数据库select中的数组@tasks,我想单独显示第一个数组,然后循环任何其他数组

数组中始终有一个项,但可能有也可能没有多个项

如果还有其他项目,最好的方式是显示第一个项目,然后循环所有剩余项目

我想前几天我在电视上找到了类似的东西,但我似乎再也找不到了

谢谢

但是,在上面的例子中,如果a=[1],那么在ruby 1.9中,_rest将至少是nil,不知道大约是1.8

也可以使用.shift删除第一个元素,如下所示:

1.9.3-p327 > first = a.shift
 => 1 
1.9.3-p327 > first
 => 1 
1.9.3-p327 > a
 => [2, 3] 
1.9.3-p327 > 

很简单。您可以使用以下选项:

first = @tasks.first
其他:

others = @tasks[1..@tasks.length]
在视图上显示:

<%= @tasks.first %>
<% @tasks[1..@tasks.length].each do |task| %>
  ...
<% end %>

我感谢你的答复。第一个示例的语法对我来说有点高级,至少对我来说不太可读。第二个是有道理的,但不太适合我的视图代码。我总是希望做得更好。你能给我指一下关于你的第一个方法的文档方向吗,这样我就可以了解它了吗。。。在阅读了有关splat操作符的信息后,我现在更新了我的代码以使用它,因此我将选择的答案改为您的答案。虽然我将@tasks[1..@tasks.length]替换为@tasks[1..-1],但这还是很有效的。谢谢。@user1116573您可以自由做您觉得舒服的事情,谢谢您接受:
<%= @tasks.first %>
<% @tasks[1..@tasks.length].each do |task| %>
  ...
<% end %>