筛选数组以包含Supercollider中的唯一值

时间:2018-10-10 10:41:15

标签: arrays unique supercollider

通过外部传感器创建一个数组,并将该数组限制在一个比例尺上。

这是示例代码:

(
~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 ]

1 个答案:

答案 0 :(得分:1)

pthreads

您可以将数组转换为Set,然后再次返回以删除重复项。 Set是一个无序集合,因此您必须对新数组进行排序才能获得所需的结果。