Hallo Leute hat, jemand herausgefunden, wie man unter
Scheme ein Numeral und einen String zu einer Ausgabe verbindet?
Also unter der Windows API geht das in etwa
MsgBox("Wert: " + intWert) ; intWert:=12
und es wird schön >Wert: 12< ausgegeben.
Weiß jemand Rat.
LG,
Martin
(define a "Wert: ")
(define b 12)
(display (string-append a (number->string b)))
Das müsste das eigentlich schaffen.
Ich definiere mir dafür meist eine kurze Funktion:
(define (println . args)
(for-each display args)
(newline))
Benutzt wird das ganze dann als
(println "Wert: " 12)
Die Notation (println . args) dort besagt "die funktion println kann beliebig viele Argumente bekommen. Diese werden als Liste an args gebunden", d.g. für (println "Wert: " 12) wäre args in der funktion dann ("Wert: " 12).
(for-each proc lis) wendet proc auf jedes Element in lis an, d.h. für (println "Wert: " 12) wird dann (display "Wert: ") (display 12) ausgeführt. (display kann beliebige Scheme-Ausdrücke ausgeben, es müssen keine Strings sein)
(newline) gibt dann abschließend noch einen Zeilenvorschub aus. Geschmackssache ob man das will.
Also unter der Windows API geht das in etwa
MsgBox("Wert: " + intWert) ; intWert:=12
und es wird schön >Wert: 12< ausgegeben.
Was soll denn das mit "der Windows API" zu tun haben ? Das ist eine Systaxfrage der enstprechenden Programmierfrage.
Darf heute denn jeder Informatik studieren ?