Validierung von numerischen Argumenten in Clojure

8

Ich habe eine Clojure-Funktion:

%Vor%

Ich möchte testen, ob arg1 und arg2 numerisch sind (nur numerische Typen sollten übergeben werden - nicht numerisch formatierte Zeichenfolgen). Es gibt natürlich eine ganze Reihe von Möglichkeiten, dies zu tun, aber ich möchte es so idiomatisch wie möglich machen. Vorschläge?

Bearbeiten: Ich weiß über :pre . Jeder Kommentar darüber, ob dies ein geeigneter / notwendiger Weg ist, dies zu handhaben, wäre willkommen.

    
charleslparker 22.12.2011, 16:35
quelle

5 Antworten

12

Vorbedingungen können das tun:

%Vor%

Siehe Ссылка für Dokumente.

    
Justin Kramer 22.12.2011, 17:03
quelle
4

Die Funktion number? klingt wie das, was Sie brauchen. Vielleicht ein Test von (and (number? arg1) (number? arg2)) .

Vor einer Weile schlug Brian Carper ein Makro und eine Reihe von Funktionen vor, die bei der Validierung verschiedener Arten von numerischen Argumenten verwendet werden sollten:

%Vor%

Dies hat sich in meiner Erfahrung als sehr flexibel erwiesen. Wie Sie sehen können, ist es einfach, die Multimethode auf neue Tests zu erweitern.

Die Verwendung wäre etwa wie folgt:

%Vor%     
clartaq 22.12.2011 16:50
quelle
1

Ich habe Dire zu diesem Zweck erfunden!

%Vor%     
Mike 02.01.2013 15:30
quelle
0

Ich habe dies gefunden, während ich dasselbe gesucht habe:

%Vor%

und dann kannst du es so benutzen:

%Vor%

Ich hoffe, es hilft! (Alle Credits gehen auf die ursprüngliche Antwort von Shantanu Kumar in Google-Gruppen zurück)

    
danfromisrael 04.01.2018 10:15
quelle
-1
%Vor%     
BLUEPIXY 22.12.2011 22:01
quelle

Tags und Links