2

当将一个人的性别或性别用作对象中的一个字段时,ruby 约定是什么?有一个二元性别假设(我不同意这一点,但通常以这种方式收集数据)。

你会在不同的情况下使用不同的类型吗?当我们向用户显示这些信息时,我们希望以某种有意义的方式显示它(MalemaleM、whatever、not 0or 1),并且我们可能希望使用它来按性别对对象进行排序。我的想法是使用:Maleand:Female之类的符号,但我想听听有更多Ruby经验的人的想法。

虽然我找到了一些建议(编写您自己的替代枚举代码并创建一个 Gender 类),但我没有找到任何可以比较或对比这种使用布尔值、符号、字符串、字符的方法或将其识别为通用约定的东西。

4

1 回答 1

0

我认为,在现代编程中,特别是在像 Ruby 这样的语言中,使用像 ' 这样的幻数01认为是一种不好的做法,就像你说的那样。然后,自然的选择是为每个性别/性别使用字符串、符号或特定类。对于封闭类,您应该避免使用字符串。使用符号时,我认为使用完整的单词而不是缩写词和小写字母(如果超过一个单词,则使用下划线)是标准的。所以我认为:male并且:female会是一个不错的选择。或者,您可以拥有MaleFemale类,每个类都有一个独特的对象,就像FalseClassand一样TrueClass。或者,您可以简单地定义两个Object实例MaleFemale. 由于性别/性别之间没有自然顺序,您需要定义自己的<=>.

于 2013-02-22T18:18:14.350 回答