我在我的代码中使用了以下逻辑:
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
对于只有单个include?
子句的语句是可以的,但是例如当您需要检查某个东西是否包含在一个Array
中而不在另一个Array
中时,使用include?
与exclude?
会更加友好。
if @players.include? && @spectators.exclude? do
....
end
但是正如dizzy42在上面所说的那样,使用exclude?
需要ActiveSupport。
@players.include?(p.name) ? false : true
这不是一个单独的方法,但是链接 count
和 zero
可以起作用:
[1, 2, 3].count(1).zero? # => false
[1, 2, 3].count(4).zero? # => true
它也适用于字符串:
"hello".count("l").zero? # => false
"hello".count("q").zero? # => true
do
是有效的 Ruby 代码吗?我得到了一个错误syntax error, unexpected end-of-input
(如果我删除do
,它可以工作)。 - maxymoo