我的一些代碼,看到喜歡的聲明:{}括號在這個變量聲明中的含義是什麼?
$test = "test";
$test1 = "tes2";
$i = 2;
$var{$test}{$test1}{"cnt"}[$i] = $var_val; # What exactly is this?
如果他們提{
梅開二度,這是串聯。我真的不明白這是什麼。
我的猜測是最終變量就像$vartesttest1cnt2
。
我的一些代碼,看到喜歡的聲明:{}括號在這個變量聲明中的含義是什麼?
$test = "test";
$test1 = "tes2";
$i = 2;
$var{$test}{$test1}{"cnt"}[$i] = $var_val; # What exactly is this?
如果他們提{
梅開二度,這是串聯。我真的不明白這是什麼。
我的猜測是最終變量就像$vartesttest1cnt2
。
呃,不,不是。 %var
是數組散列哈希的散列。
%var
是散列
$var{$test}
=>$var{"test"}
是散列
$var{$test}{$test1}
=>$var{"test"}{"tes2"}
是散列
=>$var{"test"}{"tes2"}{"cnt"}
是一個數組
$var{$test}{$test1}{"cnt"}[$i]=$var_val
分配$var_val
到索引2在陣列
`%var`是一個散列! `$ var`是undefined :) – mkb 2011-01-13 14:03:54
這是一個多維數據結構。 %var
是一個散列。 $var{$test}
是一個散列元素。 $var{$test}{$test1}
表示您的散列元素是對另一個散列的引用。 表示$var{$test}{$test1}
本身就是對散列的引用。 $var{$test}{$test1}{"cnt"}[$i]
表示前一級是對數組的引用。不明白什麼是參考? Try perldoc。
不,%var
是散列。
test
是散列中的關鍵。
$var{$test}
變成$var{"test"}
然後變成存儲在該鍵上的任何值,這顯然是另一個散列。其密鑰$test1
導致另一個散列,其中有一個密鑰cnt
,這導致一個數組,其索引$i
(2)設置爲$var_val
。
請參閱[Perlintro](http://perldoc.perl.org/perlintro.html#Perl-variable-types):標量,數組和散列。 – Benoit 2011-01-13 13:39:30
也是,`.`是連接。 `($ test。$ test1)```testtes2'` – mkb 2011-01-13 14:29:23