0

今天之前我什至没有见过 Scheme,但需要它来为 GIMP 编写一个简单的脚本。基本上我需要一个包含从 0 到 255 的三个随机元素的列表。然后我将此列表提供给一个在 gimp 中设置前景色的函数。我试过了:

 (let* ( (x '(( random 255 ) 255 255))) x)

及其所有变体,但它将 x 的第一个值设置为 (random 255) 的字符串,导致输出:

 ((random 255) 255 255)

GIMP 函数自然不会接受,因为它需要三个数字。

我尝试查找这个问题,但只找到了非常复杂的解决方案,如果我说实话,我根本不明白。

4

1 回答 1

2

(random n)将在区间内生成一个随机数[0,n-1]。因此,您可以使用(random 256).

要在上述区间内创建三个值的列表,您可以定义一个函数,如下所示:

(define (rgb)
  (list (random 256)
        (random 256)
        (random 256)))

例如,

(rgb)
=> '(55 114 248)
(rgb)
=> '(206 195 169)
(rgb)
=> '(5 157 209)
于 2017-11-03T15:42:29.707 回答