4 Stimmen

Scala: prägnante Art, das folgende Konstrukt auszudrücken

Ich werde einige C-ähnliche "Klammern" Pseudocode geben, um zu zeigen, was ich auf eine andere Weise ausdrücken möchte:

for (int i = 0; i < n; i++) {
    if (i == 3 || i == 5 || i == 982) {
        assertTrue( isCromulent(i) );      
    } else {
        assertFalse( isCromulent(i) );
    }
}

El für Schleife ist nicht sehr wichtig, das ist nicht der Punkt meiner Frage: Ich würde gerne wissen, wie ich das, was sich innerhalb der Schleife befindet, mit Scala umschreiben kann.

Mein Ziel ist es nicht, den kürzest möglichen Code zu haben: Es ist, weil ich verstehen möchte, welche Art von Manipulation auf Methodennamen (?) in Scala getan werden kann.

Können Sie etwas wie das folgende in Scala tun (folgende ist noch eine Art von Pseudo-Code, nicht Scala-Code):

assert((i==3 || i==5 || i==982)?True:False)(isCromulent(i))

Oder sogar so etwas wie das hier:

assertTrue( ((i==3 || i==5 || i==982) ?  : ! ) isCromulent(i) )

Grundsätzlich würde ich gerne wissen, ob das Ergebnis des Tests (i==3 || i==5 || i==982) kann verwendet werden, um zwischen zwei Methoden zu vermitteln oder um ein "not" vor einem Ausdruck hinzuzufügen.

Ich weiß nicht, ob es Sinn macht, also sei bitte nett (siehe mein Profil) :)

8voto

Tom Crockett Punkte 29618
assertTrue(isCromulent(i) == (i==3||i==5||i==982))

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