数组差异在不在变量中时起作用

Nic*_*nto 2 ruby arrays

如果给出以下内容

a = [1,2,3]
b = [3,4,5]

a&b #=> [3]
b - a&b #=> [4,5]
b - a #=> [4,5]
Run Code Online (Sandbox Code Playgroud)

为什么这样做

[1,2,3] - [3] #=> [1,2]
Run Code Online (Sandbox Code Playgroud)

但不是这个

a - a&b #=> [] ??
Run Code Online (Sandbox Code Playgroud)

Mar*_*pka 5

因为-这里的优先级高于&:

a - (a&b)
# => [1, 2]
Run Code Online (Sandbox Code Playgroud)