當然枚舉的Ruby中並不存在,但基於this post我用類似如下:紅寶石「枚舉」比較
class PostType
Page = 1,
Post = 2
end
我想要的價值傳遞給方法,並用它作比較。所以:
initialize(post_type)
if post_type = PostType::Page
# do something here
elsif post_type = PostType::Post
# do something else here
end
end
但是這不起作用,無論我傳入我的類的構造函數,它總是產生相同的結果。
有關爲什麼將「假枚舉」傳遞給方法並試圖比較它的任何想法都行不通?我需要比較價值嗎?即post_type = 2
?
當,有我認爲比較的Ruby語法是single ='s。愚蠢的錯誤。乾杯! – Kezzer 2012-04-23 13:27:07
如果使用「ruby -w」,則會在條件表達式中使用賦值的警告。比我想象的更好? – Romain 2012-04-23 13:30:58
你是對的,但我不是我們的-w本人很大程度上導致我的結果,真正的錯誤往往會被他們混淆,往往它是關於在你不控制的寶石中棄用的東西的評論 – peter 2012-04-23 13:38:56