我在 Code Wars 上做一个挑战,我得到了一个包含多个(有时是重复的)整数的数组“数字”,我必须返回一个唯一的整数。我通过了挑战,但是当我查看之前提交的所有解决方案时,我注意到了这个 reduce 方法:
def stray (numbers)
numbers.reduce(&:^)
end
我知道 reduce 方法通常做什么,但我一直没能找到符号 ^ 的意思。谁能告诉我它的用途?
最佳答案
reduce 方法用于数组,将该数组的所有元素合并为一个项目。
reduce 方法接受一个起始值和一个代码块。
您使用的是 reduce 的简写版本,意思如下:
numbers.reduce(&:^)
当 & 字符用作方法调用或定义的最后一个参数时,它会尝试调用参数本身的方法。 ^ 字符表示按位 XOR operator .
Inject 也是 Ruby 中 reduce 的别名。
您可以阅读更多 here .
关于ruby - :^ in reduce method mean? 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56509288/