编写更好的 Ruby:如何将对象转换为 false 或 true?
在 ruby 中,返回值的最佳/最优雅的方式是什么,例如:
#method returns true or false if 'do i match' is present in string
def method(str)
str =~ /do i match/
end
In ruby, what is the best/most-elegant way to return a value such as:
#method returns true or false if 'do i match' is present in string
def method(str)
str =~ /do i match/
end
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有些人会这样做:
第二个
!
运行真实性测试并否定答案,然后第一个!
再次否定它以获得最初的真实结果。我更喜欢更明确的语法:
这确实真实,但对我来说感觉更清晰。做你觉得最干净的事情。
Some people would do:
The second
!
runs the truthiness test and negates the answer, then the first!
negates it again to get the initial truthy result.I rather prefer the more explicit syntax:
This does the truthiness, but to me feels clearer. Do what feels cleanest to you.
我这样说可能是异端,但我认为他们隐含的回报是美丽的。在这种情况下,它的评估结果为 true 或 false,但我可以看到人们可能会认为这是不清楚的。
您可以保留隐式返回并改为:
I may be a heretic for saying it but I think that they implicit return is beautiful. In this case it evaluates to true or false but I can see how people might think that this is unclear.
You could keep the implicit return and make this instead:
可读性和性能之间的折衷
A compromise between readability and performance