94 Stimmen

Wie kann man prüfen, ob eine Zahl in einem Bereich enthalten ist (in einer Anweisung)?

Ich verwende Ruby on Rails 3.0.9 und ich möchte überprüfen, ob eine Zahl in einem Bereich enthalten ist. Das heißt, wenn ich eine Variable habe number = 5 Ich möchte Folgendes überprüfen 1 <= number <= 10 und rufen einen booleschen Wert ab, wenn die number Wert in diesem Bereich enthalten ist.

Ich kann das so machen:

number >= 1 && number <= 10

aber ich möchte das in einer einzigen Erklärung tun. Wie kann ich das tun?

0 Stimmen

Da an der von Ihnen zitierten Aussage nichts auszusetzen ist, stellt sich die Frage: Warum wollen/müssen Sie sie weiter "kürzen"?

1 Stimmen

@DarkDust - So gut wie möglich weniger Code!

2voto

Michael Kohl Punkte 64654

In Ruby 1.9 scheint die direkteste Übersetzung zu sein Bereich#abdecken? :

Gibt true zurück, wenn obj zwischen beg und end liegt, d.h. beg <= obj <= end (oder end exklusiv, wenn exclude_end? true ist).

Falls Sie sich fragen, worin der Unterschied zu Range#include? ist, dass letztere über alle Elemente des Bereichs iteriert, wenn es sich um einen nicht-numerischen Bereich handelt. Siehe dies Blogbeitrag für eine ausführlichere Erklärung.

1voto

Lakhani Aliraza Punkte 319

Wenn Sie prüfen möchten, ob eine bestimmte Zahl in einem benutzerdefinierten Array vorhanden ist,

Ich möchte zum Beispiel wissen, ob 5 in list=[1,4,6,10] enthalten ist oder nicht.

list.include? 5 => false
list.include? 6 => 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