引用

引用 属于 Perl

9 个练习

关于 引用

要想高效使用 Perl,理解引用是基础。由于引用是标量,而数组和哈希只能包含标量,所以引用是嵌套这些数据结构的关键。

可以使用反斜杠运算符\为已有的变量和子程序创建引用:

  • \$scalar创建标量引用(可以是任何标量,例如\1,而不只是变量)。
  • \@array创建数组引用。
  • \%hash创建哈希引用。
  • \&sub创建代码引用。

你还可以为数组、哈希和子程序创建所谓的匿名引用:

  • ['Alice', 'Bob', 'Charlie']创建匿名数组引用。
  • {foo => 'a', bar => 'b', baz => 'c'}创建匿名哈希引用。
  • sub { return 1 }创建匿名代码引用。

警告:在某些上下文里,Perl 中的花括号可能会产生歧义。如果你没有得到预期的哈希引用,可以在前面加上一个加号来消除歧义,例如+{}。更多信息请参见花括号。

可以使用箭头运算符->访问引用:

  • $ref->[0]访问数组引用中的元素。
  • $ref->{foo}访问哈希引用中的值。
  • $ref->($arg)通过代码引用调用子程序。

复杂数据结构中的数据,例如多维数组和嵌套哈希,可以通过链式下标访问,例如$ref->{foo}[0]{bar}(等同于$ref->{foo}->[0]->{bar})。

如果要解引用整个数组或哈希,可以使用箭头运算符后接@*或%*,例如$ref->@*或$ref->%*。 你还可以把*替换成一个下标,来获取数组引用或哈希引用的切片,例如$ref->@[0..2]或$ref->@{'Foo', 'Bar'}。 对于切片,符号变化的规则与数组变量和哈希变量相同。

通过 GitHub 编辑 该链接会在新窗口或标签页中打开

学习 引用

练习已锁定

再解锁 8 个练习即可练习 引用