Scheme Script-Fu Gimp -brauchen String Funktionen zusätzliche Bibliotheken?

Mindwinder

Mitglied
Hallo alle zusammen,
ich beschäfftige mich zurzeit ein wenig mit Gimp, Script Fu und Scheme. Habe mir heute schon einen Wolf gesucht warum die Funktion string-downcase nicht funktioniert.
Gimp (v 2.6.4) auf Windows XP gibt mir die Fehlermeldung:
Error: eval: unbound variable: string-downcase - sowohl im Script als auch in der Konsole. Ich vermute mir fehlen irgendwelche Scheme Bibliotheken, nur habe ich keine Ahnung welche, geschweige denn mit wie ich sie einbinde. Hoffe irgendwer hat mal einen schnellen Einzeiler für mich :).

Nette Grüße,

Mindwinder
 
Hi.

So wie ich das sehe gibt es diese Funktion im R5RS Scheme Standard nicht und Gimp verwendet wohl TinyScheme seit einiger Zeit welches diesen Standard implementiert.

[lisp](list->string (map char-upcase (string->list "abcdefg")))[/lisp]
Gruß
 
Vielen Dank - das klappt - ich versuche lieber gar nicht erst es zu verstehen ;) - lange keine so verquere Sprache gesehen...

Falls du irgendwo ein schöne Übersicht über die aktuell vorhandenen Funktionen hast, wäre es schön wenn du sie posten könntest. Bei meiner Recherche wurde ich immer von SIOD zu Tiny Fu und Tiny Sheme oder ins Nirvana geschickt, aber nirgndwo war etwas wirklich brauchbares zu finden...

Ganz ohne nachvollziehen ist auch blöd ;-) noch zwei schnelle Fragen:
1. Was kann ich mir denn unter #\ vorstellen? Ist das eine Auszeichnung für den Datentyp char, oder lediglich die Auszeichnung als Listenelement?
2. Iteriert map einfach über die einzelnen Elemente Liste - quasi foreach?

Nette Grüße,

Mindwinder
 
Hi.
Vielen Dank - das klappt - ich versuche lieber gar nicht erst es zu verstehen ;) - lange keine so verquere Sprache gesehen...
Ach, die Sprache ist eigentlich super. :)

Falls du irgendwo ein schöne Übersicht über die aktuell vorhandenen Funktionen hast, wäre es schön wenn du sie posten könntest.
http://www.schemers.org/Documents/Standards/R5RS/r5rs.pdf
Ganz ohne nachvollziehen ist auch blöd ;-) noch zwei schnelle Fragen:
1. Was kann ich mir denn unter #\ vorstellen? Ist das eine Auszeichnung für den Datentyp char, oder lediglich die Auszeichnung als Listenelement?
Nein, Listenelemente haben keine spezielle Auszeichnung. Und ja, es ist die Syntax für ein Char.
2. Iteriert map einfach über die einzelnen Elemente Liste - quasi foreach?
Ja, map iteriert über die Elemente einer Liste, ruft die Funktion für jedes Element auf und baut eine neue Liste mit den Ergebnissen der Funktionsaufrufe.

Gruß
 
Zurück