如何设计一个包含布尔变量列表的类?

时间:2011-12-01 17:02:56

标签: ruby class

我有一个名为Category的Ruby类,它有各种布尔值,如

  • 运动
  • 食品
  • 教育
  • 娱乐

所以我将这个Category类与其他类相关联来定义它的类别,基本上问题是这个类中的所有变量都只是布尔值。最好在Ruby类中使用4个不同的变量,还是使用整数并将布尔值编码到其中?

但是如果我编码代码变得不那么灵活,我想在这种情况下添加另一个变量,那么最好的方法是什么呢?

1 个答案:

答案 0 :(得分:3)

如果用像categories = [:sport,:food]这样的符号数组来表示类别会不会更好? 可能你在代码中检查if (sport)之类的东西,可以用if (categories.include? :sport)代替(我认为这更有意义)。 这样,您将拥有一个具有“真值”的数组,而不是拥有大量的布尔变量,这种方式更具可扩展性和可维护性,似乎可以满足您的需求。

无论如何,我缺乏关于你的课程的更多信息,也许如果你能提供关于你的课程的更多信息,我可以给你更好的建议。