【问题标题】:How to design a class which has a list of boolean variables?如何设计一个具有布尔变量列表的类?
【发布时间】:2011-12-01 17:02:55
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: ruby class


    【解决方案1】:

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

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

    【讨论】:

    • 是的,这将是一个不错的解决方案,但我希望将 Category 作为一个类,可能我会按照你的建议在该类中使用一个列表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 2021-05-19
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 1970-01-01
    • 2021-01-02
    相关资源
    最近更新 更多