lisp + python = lisPy

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

also back2topic:

ein meiner problemen, ist folgendes:
variablen werden in einen dict gespeichert
und mann greift logischer weise mit einen string auf sie zu
ich kann jetzt aber nicht sagen das alle strings die so rumliegen eigentlich variable sind.
deswegen haben wir die funktion ``$``, die anhand eines strings uns die zugehoerige variable gibt
und sowas wie:

Code: Alles auswählen

(print myvar)
ist nur syntactic sugar fuer

Code: Alles auswählen

(print ($ 'myvar'))
lange rede kuerzer sinn:
ist es nicht besser wenn variabeln strings sind und echte string geschuetzt werden, zb mit

Code: Alles auswählen

(" strings werden nicht evaluated)
cp != mv
BlackJack

Ich sehe das Problem nicht ganz, dass Du lösen willst. Wenn man den Inhalt einer Variablen aussgibt, würde ich ``(print name)`` erwarten und wenn man eine Zeichenkette ausgeben will ``(print "name")``.

Das `=` als erstes Argument eine Zeichenkette erwartet und keinen Namen, ist etwas unerwartet. In `noodle` würde man Dein Beispielprogramm 1:1 umgesetzt so schreiben:

Code: Alles auswählen

(= alles '')
(comment die evaluating methode ist richtig fett)
(while (= str (raw_input "string eingeben:"))
    (= alles (+ alles str)))
(print alles)
Da das Zusammensetzen von Zeichenketten in einer Schleife langsam ist, wäre wohl folgendes "pythonischer":

Code: Alles auswählen

(= alles (list))
# die evaluating methode ist richtig fett
(while (= string (raw_input "string eingeben:"))
    (.alles.append string))
(print (."\n".join alles))
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

lumax hat geschrieben:Edit:
Okay, das sind nichtmal 300 LOC. Also vermutlich noch nicht so~ viel interessantes :D
Zu bedenken ist, dass Scheme wirklich nicht so kompliziert zu implementieren ist. Im Scheme-Standardwerk SICP wird im Laufe des Buches eine eigene Scheme-Implementation in Scheme gebaut.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten