Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > LISP > Помогите сделать цикл для скрипта Gimp


Автор: BlackRu 6.1.2012, 03:12
Подскажите, надо в цикле выполнить три процедуры, увеличивая счетчик слоев на 1 - от 1 до 20, т.е., видимо подставляя переменную 
в 1-ой процедуре там, где третья по счету единица, в 2-ой и третьей, вроде бы понятно, где smile
Код

1. (plug-in-edge  1 1 1 2.0 2 0)
2. (gimp-invert 1)
3. (gimp-desaturate 1)

Фух, разобрался с переменными:

Код

(let*
 ((x 2) 
 (set! (plug-in-edge  1 1 x 2.0 2 0))))

(let*
 ((x 2) 
 (set! (gimp-invert x))))

(let*
 ((x 2) 
 (set! (gimp-desaturate  x))))


Но вот как сделать цикл, который бы присваивал поочередно x значения от 1 до 20 и при этом не возвращал ошибку при отсутствии слоя, пока не пойму.
Буду рад помощи

Автор: k0rvin 18.1.2012, 11:42
Ни с чем ты не разобрался. Почитай хоть немного про http://ru.wikipedia.org/wiki/Scheme

Код

(let loop ((x 1))
  (when (<= x 20)
    (plug-in-edge 1 1 x 2.0 2 0)
    (gimp-invert x)
    (gimp-desaturate x)
    (loop (- x 1))))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)