わかりました、私はperlハッシュスライスとPerlの「x」演算子を理解していますが、誰かがここから次のコード例を説明できますか(少し簡略化されています)?
sub test{
my %hash;
@hash{@_} = (undef) x @_;
}
subへの呼び出しの例:
test('one', 'two', 'three');
この行は私を投げるものです:
@hash{@_} = (undef) x @_;
キーがサブへのパラメーターであり、undefに初期化するハッシュを作成しているので、次のようになります。
%ハッシュ:
'one' => undef、'two' => undef、'three' => undef
x演算子の右辺値は数値である必要があります。@_がサブのパラメータ配列の長さとしてどのように解釈されるのですか?私はあなたが少なくともこれをしなければならないと思うでしょう:
@hash{@_} = (undef) x scalar @_;