384 Stimmen

Unterschied zwischen "and" und && in Ruby?

Was ist der Unterschied zwischen den && und and Operatoren in Ruby?

5voto

Feuda Punkte 2065

and hat eine geringere Präzedenz und wird meistens als Steuerungsflussmodifikator verwendet, wie zum Beispiel if:

next if widget = widgets.pop

wird zu

widget = widgets.pop and next

Für or:

raise "Not ready!" unless ready_to_rock?

wird zu

ready_to_rock? or raise "Not ready!"

Ich ziehe es vor, if zu verwenden, aber nicht and, da if verständlicher ist. Daher ignoriere ich einfach and und or.

Weitere Informationen finden Sie unter "Verwendung von "and" und "or" in Ruby".

1voto

und überprüft nur die erste Bedingung und gibt das Ergebnis auf der anderen Seite && überprüft beide Bedingungen stark und gibt ein logisches Ergebnis.

0voto

Kevin Ng Punkte 2138

Ich weiß nicht, ob dies beabsichtigt ist oder ob es ein Fehler ist, aber probieren Sie den folgenden Code aus. Dieser Code wurde mit Ruby-Version 2.5.1 auf einem Linux-System ausgeführt.

puts 1 > -1 and 257 < 256
# => false

puts 1 > -1 && 257 < 256
# => true

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X