簡體   English   中英

如何從Ruby可枚舉中獲取列表?

[英]How can I get a list from a Ruby enumerable?

我知道Python的list方法可以使用生成器中的所有元素。 Ruby中有類似的東西嗎?

我知道 :

elements = []
enumerable.each {|i| elements << i}

我也知道inject方案。 有一些現成的方法嗎?

Enumerable#to_a

如果你想對你的枚舉中的所有元素進行一些轉換,那么#collect(又名#map)方法會有所幫助:

elements = enumerable.collect { |item| item.to_s }

在此示例中, elements將包含enumerable所有元素,但每個元素都轉換為字符串。 例如

enumerable = [1, 2, 3]
elements = enumerable.collect { |number| number.to_s }

在這種情況下, elements將是['1', '2', '3']

以下是irb的一些輸出,說明了eachcollect之間的差異:

irb(main):001:0> enumerable = [1, 2, 3]
=> [1, 2, 3]
irb(main):002:0> elements = enumerable.each { |number| number.to_s }
=> [1, 2, 3]
irb(main):003:0> elements
=> [1, 2, 3]
irb(main):004:0> elements = enumerable.collect { |number| number.to_s }
=> ["1", "2", "3"]
irb(main):005:0> elements
=> ["1", "2", "3"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM