0
{:category => 1}.keys.each do |n|
    case n
    when 'category'
        puts 'success'
    else
        puts "failure: #{n}"
    end
end

这以“失败:类别”结束,我一生都无法理解为什么,所以我有理由确定我正在做一些非常愚蠢的事情。

4

2 回答 2

2

您尝试比较'category'字符串和:category符号 - 它们是不同的:

'category' === :category
# => false

这应该有效:

{:category => 1}.keys.each do |n|
  case n
  when :category
    puts 'success'
  else
    puts "failure: #{n}"
  end
end
于 2013-10-22T10:42:31.037 回答
1

尝试when 'category'改变when :category

于 2013-10-22T10:41:45.967 回答