我目前工作的一个Rails项目,并且已经发现时间它是最容易做的围绕对象的类来控制流/条件是否糟糕?
if object.class == Foo
...
else if object.class == Bar
...
else
...
我开始在我需要不同的方式显示不同的对象的意见这样做,但发现自己使用它在现在的其他地方,比如在以对象作为参数的函数中。我不确定为什么,但我觉得这不是好习惯。
如果不是很好的做法,为什么这样呢?
如果这完全没问题,那么有人可能想要特别使用它的时候?
谢谢!
''to_s''将会从'object.class'返回的类名上被调用,以尝试使类型兼容,所以它应该工作。另外'==='将用于检查类型。'object === Foo' –
在1.8.7和1.9.2中试过它:'object.class == A'工作正常(甚至没有'==='),但是'object.class =='A' '不起作用。 –
是的,我很累,并不意味着把双引号。编辑问题以供将来参考,谢谢你的回答! –