Hat jemand nen Plan, wie ich in Scheme global die Variablen a, b, c, … initialisiere? Thx
(Edit Tri: Lösung zu P1-Aufgabe gelöscht)
Hat jemand nen Plan, wie ich in Scheme global die Variablen a, b, c, … initialisiere? Thx
(define a 20) wenn mich mein Gedaechtnis nicht truegt. Wenn der Rest die Loesung fuer eine Aufgabe ist, sollte das hier raus, oder?
ich denke in P1 stört das nicht da eh kein Schein nötig,
wenn gewünscht, dann müssen sich ein paar mehr melden (oder der Tri ;) )
ich denke in P1 stört das nicht da eh kein Schein nötig,
wenn gewünscht, dann müssen sich ein paar mehr melden (oder der Tri ;) )
Joah, solange mir keiner bestätigt, dass der Zettel schon vorbei ist UND vor allem solange keine wirklich Quelltextbezogene Frage dransteht, muss das nicht sein finde ich [img]
http://www.fb18.de/gfx/28.gif[/img]
na gut, an die Weisung von oben muss man sich immer halten,
schnief
was hast du mit dem programm eigentlich vor? sollen die (= (..) a) zuweisungen ala C b=20; sein?
lol das löschen wäre nicht nötig gewesen glaube ich weil das eh so dermaßen lückenbehaftet war aber egal … damit wollte wir eigentlich nur zeigen wo das problem steckt…
wir wollen innerhalb einer define und condition ein b definieren. wenn ich das dann mit define mache sagt der mir
define: allowed only in definition contexts in: (define m 23)
nicht schön, sollte den job aber erledigen: (set! x 20)
eigentlich sollte lieber (let ((x 20) (y 10)) (bla...))
verwendet werden. Dazu müsstet ihr das Problem aber wahrscheinlich etwas anders angehen.
danke aber funktioniert auch nicht … sagt mir dann
set!: cannot set undefined identifier: m
ich will ne imperative programmiersprache … da kommt dann andere kacke aber da kann ich wenigsten son einfachen scheiss ganz billig machn… hoff ich doch ma ;)
mit scheme geht das sicher auch "billig" aber halt anders als du es bisher in imperativen sprachen gewöhnt bist.
(define (hase l)
(define a 20)
(let ((b 0))
(set! b 10)
(set! a 40)
(list a b)))
danke für eure ratschläge … hab jetzt aber ne gaaanz hässliche version mit let gemacht … nicht schön aber erfüllt seine arbeit…
soweit ich das verstanden habe, funktioniert 'define' nur, wenn man es nicht verschachtelt aufruft
set! kann nur variablen setzen, die mit define 'global' deklariert wurden
das oster-problem kann man relativ gut mit let* (der * ist wichtig! sonst muss man noch let im let machen) und ausschließlich 'lokalen' variablen lösen
mensch. lasst den scheiss mit set! wech.
der bringt her absolut nischt.
Am einfachsten erledigst du das mit
(let(<Zuweisung>) (<Rechnung>)
um z.B. a zuzuweisen:
(let ((a(remainder 19 j)) (<RECHENOPERATIONEN>)))