相关疑难解决方法(0)

Ruby中的"for"vs"each"

我刚才有一个关于Ruby循环的快速问题.这两种迭代集合的方式有区别吗?

# way 1
@collection.each do |item|
  # do whatever
end

# way 2
for item in @collection
  # do whatever
end
Run Code Online (Sandbox Code Playgroud)

只是想知道这些是否完全一样,或者是否有一个微妙的差异(可能是什么时候@collection是零).

ruby iteration each foreach loops

196
推荐指数
5
解决办法
23万
查看次数

Array#each vs. Array #map

hash = { "d" => [11, 22], "f" => [33, 44, 55] }

# case 1
hash.map {|k,vs| vs.map {|v| "#{k}:#{v}"}}.join(",")
=> "d:11,d:22,f:33,f:44,f:55"

# case 2
hash.map {|k,vs| vs.each {|v| "#{k}:#{v}"}}.join(",")
=> "11,22,33,44,55"
Run Code Online (Sandbox Code Playgroud)

唯一的区别是案例1使用vs.map,案例2使用vs.each.

这里发生了什么?

ruby arrays enumerable

89
推荐指数
3
解决办法
5万
查看次数

Ruby中的每个和collect方法之间有什么不同

从这段代码我不知道两种方法之间的区别,collecteach.

a = ["L","Z","J"].collect{|x| puts x.succ} #=> M AA K 
print  a.class  #=> Array

b = ["L","Z","J"].each{|x| puts x.succ} #=> M AA K
print  b.class #=> Array
Run Code Online (Sandbox Code Playgroud)

ruby each collect

62
推荐指数
3
解决办法
5万
查看次数

标签 统计

ruby ×3

each ×2

arrays ×1

collect ×1

enumerable ×1

foreach ×1

iteration ×1

loops ×1