Gibt es eine Möglichkeit, "unendliche Zeit" auszudrücken?

8

Ich verwende die Klasse Range , um eine Reihe von Zeiten darzustellen. Jetzt möchte ich einen Bereich, der nach einer bestimmten Zeit einen beliebigen Punkt repräsentiert.

Ich habe (DateTime.now .. nil) versucht, aber die Klasse Range erlaubt keine Objekte verschiedener Klassen als Endpunkte desselben Bereichs. (Der Versuch, ein Range mit dieser Eigenschaft zu erstellen, führt zu ArgumentError: bad value for range .)

Gibt es ein Äquivalent von Unendlichkeit für die Zeit, d.h. Time.now + (1.0/0.0) ? Oder gibt es alternativ eine Möglichkeit, die Anforderung Range zu umgehen, dass die Werte min und max derselben Klasse angehören?

    
Ajedi32 24.09.2012, 14:58
quelle

3 Antworten

14

Es ist möglich, DateTime::Infinity class:

zu verwenden %Vor%     
Tema Bolshakov 22.12.2014, 22:49
quelle
6
%Vor%     
maerics 24.09.2012 15:02
quelle
1

Wenn Sie eine unendliche Zeit darstellen möchten, könnten Sie ein Objekt aus einer anderen Klasse verwenden, die Sie selbst erstellen. Implementieren Sie einfach den Matching-Operator und andere Methoden, die Sie verwenden, und dann kann er austauschbar mit Range-Objekten verwendet werden.

%Vor%     
David Grayson 24.09.2012 15:07
quelle

Tags und Links