Sorry, konnte nicht frueher antworten, bin die ganze Woche schon irgendwie krank.
Zitat von Calis
result ( + ( 2 Zwischen ( * ( 5 4 ) ) 7 ) )
müsste normal gehen. Nicht so in diesem Fall... (Programm muss beendet werden^^)
...
Keine Klammern um das * Konstrukt herum, sonst nimmt er den Aufrug vor der Klammer nicht als Variable wahr sondern als Aufruf einer Funktion. Das Teil ist nicht besonders fehlertolerant.
result ( + ( 2 Zwischen * ( 5 4 ) 7 ) )
Zitat von DFYX
Das hat irgendwie was von LISP, oder?
...
Ein wenig vom Syntax angelehnt, aber es hat ja nicht wirklich Listen und in Lisp schreibt man afair Operatoren mit in die Liste, also (+ 2 3) statt + (2 3)
Zitat von Calis
result ( + ( ( * ( 5 4 ) ) 2 7 ) )
...
Unnoetige, bzw. verbotene Klammernutzung halt:
result ( + ( * ( 5 4 ) 2 7 ) )
Geht!
Ich hab mal die neue Version hochgeladen die auch if und = != <= < und so einen Kram enthaelt. Download-Link ist immernoch der gleiche. Als Beispiel hier nur anzufuehren:
(Ausschnitt)
und ein kleines Input/If Test Programm was auch beiliegt:
Hab letztens sogar mal versucht die erste Aufgabe von Project Euler damit zu loesen, was im Prinzip sehr einfach geht, aber bei der Mul3 Funktion haengt sich das Teil irgendwann auf (ganz knapp, da wenn ich bei ner hoeheren Zahl starten lasse geht es normalerweise noch), hatte aber wegen besagter Krankheit noch keine Zeit fuer weitere Versuche:
Ich liebe dieses Teil, da kann man richtig schön mit rumprobieren...
Warum funktioniert folgendes nicht?
Ich habe vorher auch probiert die Ask Funktion nicht auszulagern und den Code in der Main zu lassen. Sie funktionierte dann zwar, gab aber am ende folgendes aus: