Frage

Ich bin mit String-to-Nummer und die Nummer-zu-String-Konvertierung in GIMP Scripting frustriert. Ich runnning GIMP 2.6.8 in Windows Vista.

Ich verstehe, dass GIMP die interne Implementierung Schema ändert sich im Laufe der Versionen und ich kann nicht festzunageln der Dokumentation erscheinen. Von dem, was ich kann GIMP Schema sammeln ist eine Teilmenge von tinyscheme und / oder unterstützen die R5RS Standardverfahren. Auf jeden Fall, ich sehe in der Regel nur in dem verpackten Skriptverzeichnis für Beispiele, wenn ich etwas Neues ausprobieren wollen, weil das sicher funktionieren sollte, nicht wahr?

Zum Beispiel netz system.scm kommt mit der neuesten GIMP-Release und hat den Ausdruck,

(string-append (number->string obj) " ")

, das ist genau das, was ich will. Allerdings, wenn ich verwenden Nummer-> string in meinem eigenen Skript oder sogar geben Sie es in GIMP-Skript-Konsole (das ist, wie ich in der Regel neue Sachen testen ich tun will) es sagt mir Nummer-> string ist eine ungebundene Variable:

> (number->string 3)

Error: eval: unbound variable: number->string

Andere Standardverfahren aus, sagen R5RS, gut funktionieren:

> (string-append "frust" "rated")

"frustrated"

So

1) Gibt es eine lauernde Dokumentation für aktuellen Scripting GIMP Schemas anders als etwas drastischen wie Quellcode von GIMP gesucht?

2) Kann ich die GIMP-Konsole ausspucken eine Liste aller definierten Verfahren etwas, das ich finden?

3) Noch jemand bestätigen, dass Nummer-> string ist nicht für das aktuelle Windows-Build definiert, obwohl es in den verpackten Skripten erscheint? Meine Web-Recherchen haben keine damit verbundene Probleme, und eine komplette Deinstallation aller GIMP-Versionen aufgedreht, zurück zu neuesten bringt mich in der gleichen schaben.

War es hilfreich?

Lösung

Sie können die Variablen erneut binden und Top-Level-Standard-Bibliothek Funktionen in Schema monkeypatch, aber ich glaube nicht, können Sie unbind Top-Level-Variablen. Vielleicht gibt es einige Bibliothek-Datei, die nicht richtig geladen ist.

Meine tinyscheme in GIMP 2.6.8 auf OS X ausführt Nummer-> string just fine.

Nummer-> string in share / gimp / 2.0 / scripts / script-fu.init als

(define (number->string n) (anyatom->string n number?))

so könnten Sie einfach diesen Code ausführen, um die Variable erneut zu binden. Oder vielleicht könnten Sie Skript-fu.init neu laden

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top