2016-10-17 2 views
0

Ich beginne ML zu lernen, und wir gingen über dieses Stück Code in Vorlesung:Conditionals in ML

val x = 1; 
if hd [1, 2, 3] = x then x = x + 1 else x = x - 1; 

Enthält diese Aussage falsch zurück, weil der Kopf [1, 2, 3] gleich 1 ist , also geht es in den dann Teil und vergleicht 1 zu 1 + 1?

+3

Ja. Es gibt nicht viel mehr hinzuzufügen. Außer vielleicht, dass es keine Aussage, sondern ein Ausdruck ist. – molbdnilo

Antwort

0

Ja, das ist richtig. Es wird x = x + 1 ausgewertet, was 1 = 1 + 1 ist, was false ist.

Beachten Sie, dass es egal false bewerten wird die Verzweigung genommen wird, weil x nie gleich x + 1 oder x - 1 ist.