1
Ich mache einige Past-Papiere und muss wissen, ob ich hier richtig bin.Ausdrücken von Ausdrücken
Give Schritt-für-Schritt-Auswertungen der folgenden Begriffe:
foo(0,[2,3,1])
foo(0,[4,0,1])
wo foo wie folgt definiert ist:
foo(_,[]) -> [];
foo(Y,[X|_]) when X==Y -> [X];
foo(Y,[X|Xs]) -> [X | foo(Y,Xs) ].
Meine Antworten:
1.
Foo(0, [2, 3, 1])
[2 | foo(0, 3, 1) ]
[2, 3| foo(0, 1) ]
[2, 3, 1 | foo (0)]
[2, 3, 1]
2 .
Foo(0, [4, 0, 1])
[4 | foo(0, 0,1])
[4, 0]
Bin ich hier richtig?
Was würden Sie sagen, diese Funktion tut? Ich habe es als Entfernen aller Instanzen von 'Y'. In diesem Fall alle Nullelemente. –
foo (Elem, List) gibt eine Kopie von List zurück, in der alle Elemente nach Elem gelöscht werden. – Pascal