xistem boas utilizações para operadores lógicos (booleanos) sem curto-circuito no Java / Scal
ecentemente, descobri que Java (e Scala) incluem operadores lógicos sem curto-circuit&
, |
e^
. Antes, eu pensava que eles só funcionavam como operadores bit a bit. Embora talvez haja um argumento para^
, Não consigo pensar em boas razões para usar operadores lógicos sem curto-circuito - embora, com certeza, consiga um exempl
Esses operadores são úteis? Eles parecem mais propensos a causar bugs difíceis de captura
scala> def foo = {
| println("foo")
| true
| }
foo: Boolean
scala> def bar = {
| println("bar")
| true
| }
bar: Boolean
scala> foo || bar
foo
res5: Boolean = true
scala> foo | bar
foo
bar
res6: Boolean = true