【发布时间】:2013-05-04 17:22:12
【问题描述】:
是否有一个关键字可以用来明确告诉 map 函数该特定迭代的结果应该是什么?
考虑:
a = [1,2,3,4,5]
a.map do |element|
element.to_s
end
在上面的例子中 element.to_s 是每次迭代的结果。
在某些情况下,我不想依赖使用最后执行的行作为结果,我更愿意在代码中明确说明结果是什么。
例如,
a = [1,2,3,4,5]
a.map do |element|
if some_condition
element.to_s
else
element.to_f
end
end
如果写成这样,我可能会更容易阅读:
a = [1,2,3,4,5]
a.map do |element|
if some_condition
result_is element.to_s
else
result_is element.to_f
end
end
那么有什么关键字可以代替result_is吗?
return 将从调用函数返回,break 将提前停止迭代,所以这些都不是我想要的。
【问题讨论】: