2017-07-18 13 views
0

2次元配列から特異な列を返すスクリプトを作成しようとしています。この配列は、Rhinoでさまざまなことを描画するためのデータとして使用されます。しかし、私はいつもこれをしようとするとエラーが発生し、私は自分のコードに何が間違っているのか分からないようです。2D配列から特異な列を返しますか?

Function ReturnColumn(ByVal col, ByVal array) 

Dim colsize, i 
colsize = UBound(array, 1) 

ReDim vector(colsize) 

For i = 0 To colsize 
    vector(i) = array(i, col) 
Next 

ReturnColumn = vector 
End Function 

これは非常に単純な関数でなければなりませんが、何らかの理由で、私はそれを動作させることはできません:私は私の現在の機能は以下に再現できます。どんな助けでも感謝しています!

答えて

0

配列変数をDimで宣言する必要があると思います。また、変数名としてarrayが予約されているため、問題が発生する可能性があります。例えばmatrix

Function ReturnColumn(ByVal col, ByVal matrix) 
    ' Declare variables 
    Dim colsize As Integer 
    Dim i As Integer 
    Dim vector() As Integer 

    ' Redimension the array to the size of the column 
    colsize = UBound(matrix, 1) 
    ReDim vector(colsize) 

    ' Fill the array 
    For i = 0 To colsize 
    vector(i) = matrix(i, col) 
    Next 

    ' Return the array 
    ReturnColumn = vector 
End Function 

documentationが(強調鉱山)言う:

ReDim文がサイズに使用されるか、またははすでに正式にPrivateを使用してを宣言されたこと動的配列のサイズを変更し、Public、またはされますDimステートメントは空のかっこ(次元の添え字なし)。

関連する問題