もちろん、enum は Ruby には存在しませんが、この投稿に基づいて、次のようなものを使用しました。
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
?