Схема - Простой список с тремя случайными элементами
Я даже не видел Scheme до сегодняшнего дня, но мне нужно написать простой скрипт для GIMP. По сути, мне нужен список с тремя случайными элементами от 0 до 255. Затем я передаю этот список функции, которая устанавливает цвет переднего плана в gimp. Я пробовал:
(let* ( (x '(( random 255 ) 255 255))) x)
И все его варианты, но вместо этого он установит первое значение x в строку (случайное 255), что приведет к выводу:
((random 255) 255 255)
Который, естественно, функция GIMP не примет, так как ожидает три числа.
Я попытался найти эту проблему, но нашел только действительно сложные решения, которые я, если честно, совсем не понимаю.
1 ответ
(random n)
сгенерирует случайное число в интервале [0,n-1]
, Таким образом, вы можете создать случайное число от 0 до 255 включительно, используя (random 256)
,
Чтобы создать список из трех значений в указанном интервале, вы можете определить функцию следующим образом:
(define (rgb)
(list (random 256)
(random 256)
(random 256)))
Например,
(rgb)
=> '(55 114 248)
(rgb)
=> '(206 195 169)
(rgb)
=> '(5 157 209)