从外部传感器创建一个阵列,并且该阵列被限制在一个尺度上。
这是示例代码:
(
~weight = 70;
~array = ((~weight - 12) .. ~weight);
l = Scale.majorPentatonic.degrees; // pentatonic scale
j = (~array).collect { |i| i.nearestInScale(l, 12)}
)
这会产生一个数组,但会重复它与比例匹配的注释,例如:
[ 57, 57, 60, 62, 62, 64, 64, 64, 67, 67, 69, 69, 69 ]
如何将此数组过滤为仅唯一值,使其如下所示:
[ 57, 60, 62, 64, 67, 69 ]