# Or Operator Precedence

What's the difference between `||`

and `or`

in Ruby?

Let's look at an example to find out. First, let's start with some boolean variables:

```
> a, b = false, true
=> [false, true]
```

Now, let's try the different *or* operators:

```
> a || b
=> true
> a or b
=> true
```

Cool, they seem to work as expected.

Finally, let's capture the result in a variable:

```
> c = a or b
=> true
> c
=> false
```

But why is `c`

false and not true? Operator precedence. The assignment
operator (`=`

) takes precedence over the `or`

operator causing `c`

to be
assigned to the value of `a`

(`false`

) before `or`

'd with `b`

.