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

これは「failure: category」で終わりますが、その理由は一生わからないので、非常にばかげたことをしていると確信しています。

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 に答える