Возможно, есть лучший способ, но я могу это сделать так:
- открыть консоль скрипта fu (Фильтры -> Скрипт фу -> Консоль)
- отредактируйте файл (скажем, например: /Users/jamesanderson/code/scheme/gimp/learn1.scm
- type: (загрузите "/Users/jamesanderson/code/scheme/gimp/learn1.scm") вконсоль
- нажмите ввод
- редактировать файл для внесения изменений
- стрелка вверх (чтобы получить вызов функции загрузки снова без ввода)
- нажмите ввод
Обратите внимание, что это расширение моего ответа на основе комментарияВыходя за рамки простого доказательства концептуальных сценариев, подобных приведенному выше, важно знать, что эта консоль сохраняет состояние между вызовами. Так, например, если мы запустим скрипт этой схемы:
(define jea-test-img-id nil)
(define (jea-find-test-img)
(car (gimp-image-list)))
и затем перейдем кконсоль и введите:
jea-test-img-id
, мы получаем в результате:
> jea-test-img-id
()
, что хорошо, скрипт инициирует переменную по мере необходимости, и мырезультат.Таким образом, переменная установлена в скрипте, консоль сохраняет изменение состояния из скриптаТеперь давайте изменим состояние в консоли:
(set! jea-test-img-id (jea-find-test-img))
мы вызываем вспомогательную функцию, которая захватывает первый идентификатор изображения в списке активных изображений и сохраняет его в объявленной нами ранее переменной (которая тогда была равна нулю).Теперь давайте снова рассмотрим вопрос:
jea-test-img-id
затем результат:
> jea-test-img-id
1
такой высокий уровень: когда вы работаете над сценарием, создайте рабочие переменные, которые содержат то, что вы хотитеработать над изображением, пикселями, шириной и т. д., а затем пошагово, чтобы функции работали.В конце вы можете свернуть его в одну чистую функцию, как только у вас будут короткие фрагменты фрагмента.