使用case / when检查某个类是否属于某个类

时间:2014-11-26 12:46:28

标签: ruby

为什么我得到"大拇指"?

p = Post.new  

case p.class
when Post
  "Thumbs up"
else
  "Thumbs down"
end

2 个答案:

答案 0 :(得分:6)

您无需专门检查课程。检查实例,这就是案例的工作原理。

p = Post.new  

case p
when Post
  "Thumbs up"
else
  "Thumbs down"
end

“我有这个东西p,它可能是什么?它是一个Post还是一个符合这个正则表达式的字符串?还是另一件事?”

关于threequals运算符的更多信息,ruby案例表达式背后的力量:https://stackoverflow.com/a/4528453/125816

答案 1 :(得分:0)

" p.class"是类,而不是类名,请尝试" p.class.name"代替。