【发布时间】:2011-12-01 17:02:55
【问题描述】:
我有一个名为 Category 的 Ruby 类,它具有各种布尔值,例如
- 运动
- 食物
- 教育
- 娱乐
所以我会将这个 Category 类与其他一些类关联来定义它的类别,基本上问题是这个类中的所有变量都只是布尔值。最好在 Ruby 类中使用 4 个不同的变量还是使用整数并将布尔值编码到其中?
但是如果我对代码进行编码变得不那么灵活,因为我想在这种情况下添加另一个变量,那么最好的方法是什么?
【问题讨论】:
我有一个名为 Category 的 Ruby 类,它具有各种布尔值,例如
所以我会将这个 Category 类与其他一些类关联来定义它的类别,基本上问题是这个类中的所有变量都只是布尔值。最好在 Ruby 类中使用 4 个不同的变量还是使用整数并将布尔值编码到其中?
但是如果我对代码进行编码变得不那么灵活,因为我想在这种情况下添加另一个变量,那么最好的方法是什么?
【问题讨论】:
如果你用一个像categories = [:sport,:food]这样的符号数组来表示类别不是更好吗?
可能您正在检查代码中的if (sport) 之类的内容,可以将其替换为if (categories.include? :sport)(我认为这更有意义)。
这样,您将拥有一个包含“真实值”的数组,而不是拥有大量布尔变量,这更具可扩展性和可维护性,并且似乎可以满足您的需求。
无论如何,我缺乏关于你的课程的更多信息,也许如果你能提供更多关于你的课程的信息,我可以给你更好的建议。
【讨论】: