Gimp Script-Fu не выполняет ни одно из условий

Я пытаюсь создать условный оператор в скрипте Gimp Script-Fu, и, похоже, ничего не выполняется.

(gimp-message "before cond")
(cond
    [#t (gimp-message "I should see this")]
    [else (gimp-message "I shouldn't see this")]
)
(gimp-message "after cond")

Вывод, который я получаю, следующий

script-fu.exe-Warning: before cond

script-fu.exe-Warning: after cond

Что я здесь не так делаю? Почему ни одно из моих gimp-сообщений не отображается в cond заявление?

1 ответ

Решение

Я думаю, что я получил свой синтаксис для cond из документации ракетки, так как не так много документации для TinyScheme или, более конкретно, Script-Fu

Я обнаружил, что синтаксис, распознаваемый Gimp, в основном то же самое, но заменяя скобки [] на круглые скобки ()

(gimp-message "before cond")
(cond
    (#t (gimp-message "I should see this"))
    (else (gimp-message "I shouldn't see this"))
)
(gimp-message "after cond")

После замены скоб я получил ожидаемый результат. Обидно, что не было никакой ошибки, чтобы сказать, что скобки были неожиданными.

Другие вопросы по тегам