Gibt es eine elegante Möglichkeit, den ersten Wert eines Bereichs auszuschließen?

8

Sagen wir, ich habe einen Bereich von 0 bis 10:

%Vor%

Drei Punkte bedeuten, dass der letzte Wert (10) ausgeschlossen ist:

%Vor%

Gibt es nun eine ähnliche und elegante Möglichkeit, den ersten Wert auszuschließen?
Für das obige Beispiel würde dies bedeuten, alle Werte, die größer sind ( > , nicht >= ) als 0 und kleiner , einzuschließen als 10.

    
Daniel Pietzsch 29.07.2010, 01:15
quelle

3 Antworten

2

Nein.

%Vor%     
Adrian 29.07.2010, 01:17
quelle
5

Ich habe zwei Vorschläge für Sie, sie sind nicht sehr ideal, aber sie sind die besten, die ich mir vorstellen kann.

Zuerst können Sie eine neue Methode für die Range-Klasse definieren, die das tut, was Sie beschreiben. Es würde so aussehen:

%Vor%

Ich weiß nicht, ich habe nur ein Synonym von "include" als Methodennamen verwendet, vielleicht können Sie sich etwas besseres vorstellen. Aber das ist die Idee.

Und dann könnten Sie etwas aufwendigeres tun und eine Methode für die Range-Klasse definieren, die einen Bereich als einen Bereich markiert, von dem Sie den Anfangswert ausschließen möchten, und dann die include? -Methode ändern, um nach dieser Marke zu suchen .

%Vor%

Vielleicht möchten Sie wiederum einen besseren (eleganteren?) Namen für die Methode als exclude_begin , ich habe das nur gewählt, weil es mit der Methode exclude_end? des Bereichs übereinstimmt.

Bearbeiten: Ich habe noch eine andere für Sie, nur weil ich dieses Problem so interessant finde. : P Dies funktioniert nur in der neuesten Version von Ruby 1.9, erlaubt aber die folgende Syntax:

%Vor%

Es verwendet die gleiche Idee wie mein zweiter Vorschlag, speichert aber den "Ausschluss-Marker" in der Zahl anstelle des Bereichs. Ich muss den SimpleDelegator von Ruby 1.9 verwenden, um dies zu erreichen (Zahlen allein können keine Instanzvariablen haben oder irgendetwas), weshalb es in früheren Versionen von Ruby nicht funktioniert.

%Vor%     
Jeremy Ruten 30.07.2010 10:02
quelle
0

Vielleicht könnten Sie Ihren eigenen Bereichstyp erstellen.

%Vor%     
Andrew Grimm 30.07.2010 08:55
quelle

Tags und Links