如何从阵列中拉出两个间隔

时间:2013-04-18 23:03:27

标签: ruby-on-rails arrays

@photos = @user.photos[0..2, 4..6] if @user.avatar == 3

这种语法似乎不起作用。我可以不将许多参数放入像[1,2,3,4]这样的数组中吗?或[1,4..6]?

由于某种原因我得到一个错误无法将范围转换为整数

1 个答案:

答案 0 :(得分:2)

如果参数是范围,Ruby不允许您将多个参数传递给[]。

你可以在这里使用这个丑陋的东西:

@photos = @user.photos
@photos = @photos[0..2] + @photos[4..6] if @user.avatar == 3

但你最好使用:

@photos = @user.photos
@photos.delete_at 3

删除第3个元素。

干杯,