Is there any wisdom behind “and”, “or” operators in Ruby?

前端 未结 5 1078
小蘑菇
小蘑菇 2020-11-29 11:21

I wonder why ruby give and, or less precedence than &&, || , and assign operator? Is there any reason?

5条回答
  •  北海茫月
    2020-11-29 11:48

    The difference is precedence. ||, && have higher precedence than =, but and, or have lower. So while you can do:

    a = nil || 0
    

    You would have to do:

    a = (nil or 0)
    

    to get same effect. If you do:

    a = nil or 0
    

    The result of expression would still be 0, but a value would be nil.

提交回复
热议问题