2017-02-27 13 views

答えて

1

@ var1は配列の配列です。したがって、その唯一の内容は、2つの値、$ aと$ bを含む別の配列です。

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

@var1は、単一の要素を含む配列です。その単一の要素($var[0])には、別の配列への参照が含まれています。参照される配列には、変数$a$bの値を含む2つの要素があります。

したがって$var[0]には配列参照が含まれています。参照される配列の要素への配列参照を取得するには、ルックアップ矢印->を使用します。

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

私たちがここで使うことができる余分な構文があります。ルックアップ矢印のみで区切られたルックアップブラケットの2つのセットがある場合、その矢印を省略することができます。だから表現はなる。あなたのコードについて

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

2点:

  • $a$bサブルーチンをソートに使用されている特殊な変数です。それ以外の場所で使うのは悪い考えです。
  • オリジナルの代入式(@var1 = [($a, $b)])では、かっこは不要です。ちょうど@var1 = [$a, $b]は同じことをしたでしょう。
+1

私は基本的に同じ最初の文章で私の答えを始めた... :) – simbabque

+0

私はこの答えがいくつかdownvotesを受け取った理由を知りたいです。 –