我目前工作的一個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' '不起作用。 –
是的,我很累,並不意味着把雙引號。編輯問題以供將來參考,謝謝你的回答! –