I'm trying to evaluate the expression `(a=10) || (rr=20)` while the rr variable is not defined

so typing `rr` in the ruby console before evaluating the previous expression returns 

```
rr
NameError: undefined local variable or method `rr' for main:Object
from (irb):1
from :0

```

When I write the expression `(a=10) || (rr=20)` it returns 10, and when I write rr afterwards it says `nil`

```
(a=10) || (rr=20)
rr  # => nil

```

so, why is this happening? Shouldn't rr be defined only if the second argument of the || operator is evaluated, which should be never based on the documentation?