我试图找出是否有更优雅的方式来编写这段代码:
result.each_with_index do |rowset,index|
if rowset["Answer"].to_i == 0
puts "1"
end
if rowset["Answer"].to_i == 1
puts "2"
end
if rowset["Answer"].to_i == 2
puts "3"
end
if rowset["Answer"].to_i == 3
puts "4"
end
答案 0 :(得分:6)
然后我会使用String#next
:
# no need to do `String#to_i` method call.
result.each { |rowset| puts rowset['Answer'].next }
答案 1 :(得分:3)
这应该这样做:
result.each do |rowset|
puts rowset["Answer"].to_i + 1
end
答案 2 :(得分:1)
这个怎么样?
result = [{"Answer"=>"1"}, {"Answer"=>"3"}]
puts result.map(&-> v { v["Answer"].next })
输出:
2
4
=> nil