2017-02-27 6 views
-3

내가 펄

에 표현 아래에있는
@var1 = [($a, $b)] 

사람이 VAR1에 저장된 값을 복종하는 데 도움이 있습니다.

+0

음, 어느 것입니까? – yonyon100

+0

배열에 배열 참조를 할당 한 이유가 무엇입니까? – Borodin

답변

1

@ var1은 배열의 배열입니다. 그래서 그것의 유일한 내용은 두 개의 값, $ a와 $ b를 포함하는 또 다른 배열입니다.

$a2 = $var1[0][0]; 
$b2 = $var1[0][1]; 
4

@var1은 단일 요소를 포함하는 배열입니다. 이 단일 요소 ($var[0])는 다른 배열에 대한 참조를 포함합니다. 참조 된 배열은 $a$b의 값을 포함하는 두 개의 요소가 있습니다.

그래서 $var[0]에는 배열 참조가 들어 있습니다. 참조 된 배열의 요소에 대한 배열 참조를 얻으려면 조회 화살표 ->을 사용합니다.

print $var[0]->[0]; # The first element in the referenced array 
print $var[0]->[1]; # The second element in the referenced array 

우리가 여기서 사용할 수있는 구문 구문이 있습니다. 룩업 (look-up) 화살표로 구분 된 두 세트의 룩업 (look-up) 괄호가있을 때, 그 화살표를 생략 할 수 있습니다. 그래서 표현이됩니다. 코드에 대한

print $var[0][0]; 
print $var[0][1]; 

두 지점 :

  • $a$b 서브 루틴을 정렬에 사용되는 특수 변수입니다. 다른 곳에서는 사용하지 않는 것이 좋습니다.
  • 원래 할당 식 (@var1 = [($a, $b)])에서 괄호는 필요 없습니다. 그냥 @var1 = [$a, $b] 같은 일을했을 것입니다.
+1

나는 기본적으로 같은 첫 번째 문장으로 내 대답을 시작했습니다 ... :) – simbabque

+0

나는이 대답이 두 개의 downvotes를 받았는지 알고 싶습니다. –