Question

Je suis frustré par chaîne à nombre et la conversion numéro à chaîne dans les scripts GIMP. Je runnning GIMP 2.6.8 dans Windows Vista.

Je comprends que les changements de mise en œuvre du schéma interne de GIMP sur les versions et je ne peux pas sembler clouer la documentation. D'après ce que je peux recueillir le schéma de GIMP est un sous-ensemble de tinyscheme et / ou prend en charge les procédures standard r5rs. Dans tous les cas, je regarde juste habituellement dans le répertoire de script emballé pour des exemples quand je veux essayer quelque chose de nouveau, car cela devrait fonctionner pour vous, non?

Par exemple, grille-system.scm est livré avec la dernière version GIMP et a l'expression,

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

ce qui est exactement ce que je veux. Cependant, si j'utilise number-> string dans mon propre script, ou le type même dans la console de script de GIMP (ce qui est la façon dont je teste habituellement de nouvelles choses que je veux faire) il me dit number-> string est une variable non liée:

> (number->string 3)

Error: eval: unbound variable: number->string

D'autres procédures standard, disons r5rs, fonctionnent très bien:

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

"frustrated"

1) Y at-il une documentation qui se cache pour les scripts en cours GIMP Scheme autre que quelque chose de radical comme la recherche code source de GIMP?

2) Puis-je utiliser la console GIMP pour cracher une liste de toutes les procédures définies pour trouver quelque chose que je besoin?

3) Toute autre personne confirme que number-> chaîne n'est pas définie pour les fenêtres en cours de construire, même si elle apparaît dans les scripts emballés? Mes recherches sur le Web ne sont pas retroussé les problèmes connexes, et une désinstallation complète de toutes les versions de GIMP, de retour à la dernière me met dans le même coup de racloir.

Était-ce utile?

La solution

Vous pouvez associer des variables et des fonctions de haut monkey-patch bibliothèque standard de niveau dans le schéma, mais je ne pense pas que vous pouvez délier les variables de haut niveau. Peut-être il y a un fichier de bibliothèque qui ne se charge pas droit.

Mon tinyscheme dans GIMP 2.6.8 OS X exécute number-> string très bien.

number-> string est défini dans share / gimp / 2.0 / scripts / script fu.init comme

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

vous pouvez donc exécuter ce code pour lier de nouveau la variable. Ou vous pourriez peut-être recharger script fu.init

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top