2011-02-13 2 views
2

간단한 조각에서 또 다른 변수 (차례로 다른 배열 인) :AutoIt을 가져 오기 부분 배열 우리가 배열의 요소를 저장할 코드의 배열

Global $arr[1][2] = [ [1, 2] ] 
Global $sub = $arr[0] 

는 그리고 우리는

Array variable has incorrect number of subscripts or subscript dimension range exceeded.: 
Global $sub = $arr[0] 
Global $sub =^ERROR 
를 얻을 수

우리는

Global $arr[1][2] = [ [1, 2] ] 
Global $sub[2] = $arr[0] 

쓰기 우리는

을받을 경우
Missing subscript dimensions in "Dim" statement.: 
Global $sub[2] = $arr[0] 
Global $sub[2] =^ERROR 

간단한 작업이지만 어떻게 할 수 있는지 발견하지 못했습니다. 모르겠다. 도와주세요.

답변

5

배열 안에 배열이 아닌 2 차원으로 다차원 배열을 만듭니다.

  • 다중 차원 배열 : 당신 것 AutoIt이 대부분의 경우

    Local $firstArray[2] = [1, 2] 
    Local $arr[1] = [ $firstArray ] 
    ;Local $sub = $arr[0][0] ; This does not work 
    
    Local $sub = $arr[0] 
    $sub = $sub[0] ; value = 1 
    

: 배열 내부

Local $arr[1][2] = [ [1, 2] ] 
Local $sub = $arr[0][0] ; value = 1 
  • 배열을 다음과 같이 두 가지의 차이는 다차원 배열을 선호합니다. 다른 배열 내부의 배열은 원래 배열의 복사본을 만듭니다. 따라서 복사본에 대한 성능과 수정 사항을 잃어 버리지 않아도 원본에 영향을주지 않습니다.

    마지막으로 Global 키워드 대신 변수를 정의하려면 Local 키워드를 사용하는 것이 좋습니다. Local 키워드를 사용하여 변수를 선언하면 전역 네임 스페이스가 오염되지 않습니다.

  • +1

    명확하고 포괄적 인 대답. 다차원 배열은 내가 사용하는 모든 프로그래밍 언어에서와 같이 배열 배열이 아니라는 것을 알기가 어려웠습니다. 감사합니다. – disfated