【发布时间】:2011-07-17 21:42:28
【问题描述】:
从这段代码我不知道collect和each这两种方法的区别。
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
【问题讨论】:
-
你为什么要
printinga.class,b.class?改为打印a和b,就清楚了。请参阅重构的答案。我认为你混淆了你的两个单行的效果,它们是相同的,它们的返回值是不同的。 -
当您想查看对象的内容时,使用
p而不是print。我忘了提那个。在上面的代码中尝试p a和p b。