如何在循环外的循环中使用值?

时间:2012-06-03 07:21:20

标签: audio loops for-loop

我问了另一个没有回答的问题,这引出了我这个问题。我有一个for循环,它在声音文件中生成一个样本数组。我这样做是为了两个文件,并尝试将它们组合在第三个文件中。但是,值数组只存在于for循环中,所以我不能在第三个中使用我需要的值,因为我需要使用for循环访问第三个文件中的样本数组。在这种情况下,嵌套的for循环似乎没有意义。

抱歉忘了提到我正在使用python。 这是令我困惑的代码块。

for index in getSamples(sound1):
    v1 = getSampleValue(index)

  for index in getSamples(sound2):
    v2 = getSampleValue(index)

  for index in getSamples(sound3):
    setSampleValue(index, v1+v2)

因此,代码基本上从sound1获取所有样本,声音2中的所有样本,并尝试将sound3中的样本(与两种声音的长度相同)设置为每个索引处的每个样本的组合。

然而,当它只播放/探索声音3的空白声音时。我认为问题是v1和v2只等于个体for循环中整个数组的值。

2 个答案:

答案 0 :(得分:0)

由于您未提供任何代码块,因此不确定您打算做什么。 但基本上,是的,你可以。我会在php中写一些东西:

$myarray = array(); //init the array
for($i=1; $i<10; $i++){
   //do something with myarray
}
//you can use myarray here

重点是:在循环开始之前在循环外声明“你想要使用的任何东西”

答案 1 :(得分:0)

为了使用循环外部的变量来引用数组,需要在循环外部初始化该变量。这为您提供了对数组的引用。

var array = new Array();

for (int x=0; x<sample.length(); x++) {
    //do stuff in the loop to 'array' variable
}

//do what you want with 'array' after the loop