我在我的代码中有以下逻辑:
if !@players.include?(p.name)
...
end
@players是一个数组。有什么方法可以让我避免!?
理想情况下,这个代码片段应该是:
if @players.does_not_include?(p.name)
...
end
我在我的代码中有以下逻辑:
if !@players.include?(p.name)
...
end
@players是一个数组。有什么方法可以让我避免!?
理想情况下,这个代码片段应该是:
if @players.does_not_include?(p.name)
...
end
当前回答
给你:
unless @players.include?(p.name)
...
end
您可以查看Ruby Style Guide以获得有关类似技术的更多信息。
其他回答
给你:
unless @players.include?(p.name)
...
end
您可以查看Ruby Style Guide以获得有关类似技术的更多信息。
试试这样做:
@players.include?(p.name) ? false : true
下面这个怎么样:
unless @players.include?(p.name)
....
end
if @players.exclude?(p.name)
...
end
ActiveSupport添加排除?数组,散列和字符串。这不是纯Ruby,但是被很多Ruby爱好者使用。
来源:活动支持核心扩展(Rails指南)
如果你对!-操作符的反对主要是它需要放在你的检查符前面,这会破坏你的输入流程,那么就有。!方法。你只需要把它放在check之后来反转布尔值:
if @players.include?(p.name).!