Ruby:如何获取数组的下一个元素?

时间:2014-07-11 12:27:09

标签: ruby arrays

我收到了这个标签:

 ["aaaaaaaaaaaaaaaaaaa",
 "15/87/2014r",
 "2453/NRc05",
 "xxxxxxxxxxxxxxxxxxxxxxxxxx",
 "Adaptée",
 "09/12/2013",
 "pub.pdf"]

我只想要"xxxxxxxxxxxxx"

我找到.next.element(s)但是我没有理解如何使用它..:/

1 个答案:

答案 0 :(得分:3)

Array#each会返回Enumerator

arr = [1, 2, 3]
enum = arr.each

enum.next
#=> 1

enum.next
#=> 2

enum.next
#=> 3

enum.next
#=> StopIteration: iteration reached an end

<强>更新

关于你的评论

  

我有一个包含一些数据的数组,我想将它们保存在一个名为... {Name : aaaaa, First Name : bbbbbb}等等的哈希值中等等。

而不是一遍又一遍地调用next(我假设你正在做这样的事情):

data = ["John", "Doe"]
enum = data.each
hash = {}
hash[:first_name] = enum.next
hash[:last_name] = enum.next
# ...

您可以将两个数组与Array#zip合并,然后使用Array#to_h将其转换为哈希:

data = ["John", "Doe"]
keys = [:first_name, :last_name, :other]

keys.zip(data).to_h
#=> {:first_name=>"John", :last_name=>"Doe", :other=>nil}