在红宝石中,对于以问号结尾的方法名称,是否是真实的惯用语?

前端之家收集整理的这篇文章主要介绍了在红宝石中,对于以问号结尾的方法名称,是否是真实的惯用语?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有问号的方法返回一些真实的东西(例如一个数字)是否正常,以表明某事物是真实的,还是应该返回真实的?

例如,在Ruby标准库或Rails中是否使用了真实的例子?

背景:有人写了一个String#int?方法an answer to a separate question中返回一个整数表示true,而nil表示false.另一位用户对于没有返回一个布尔值感到惊讶.

解决方法

通常结束的方法是?返回真或假,但它不系统,没有核心方法将承担它.

核心类的一个例子是Numeric#nonzero?它永远不会返回true或false.

42.nonzero? # => 42

图书馆集有添加吗?并删除?太.我希望Enumerable#one?返回nil或false,以区分从大于1的计数为零的情况.

类似的例子是比较运算符(<> …),通常只返回true或false.在这两个模块不相关的情况下,Module的运算符再次出现异常:

Array > Enumerable  # => false
Array > Fixnum      # => nil

猜你在找的Ruby相关文章