【问题标题】:What is the difference between @ and $ while accessing array elements in perl? [duplicate]在perl中访问数组元素时@和$有什么区别? [复制]
【发布时间】:2020-10-03 03:15:56
【问题描述】:

我有两个关于 perl 变量的基本问题。

@names = ('Super_!','Massive_@',"Black#", "Hole*");
print "Top Player: @names[0]\n";
print "Top Player: $names[0]\n";

虽然输出之间没有区别,但尝试访问元素@和$时的实际区别是什么。

另外,在声明字符串数组时,用单引号和双引号定义元素有什么区别?

【问题讨论】:

标签: arrays perl variables scalar


【解决方案1】:

如您所知,@ 符号指向 array$ 符号指向 scalar

由于您要访问数组的元素scalar,因此最好使用$,否则如果您定义了use warnings;,则会收到警告。

也就是说,在 Perl 中变量的前缀代表的是你想要拥有的,而不是你拥有的。

--

' 和双引号" 都用于定义字符串,但双引号"hello $name" 允许您使用字符串插值

【讨论】:

  • 这个答案是错误的。 @ 表示多个项目,$ 表示单个项目。这就是为什么数组的单个元素访问是$array[$i],而哈希切片是@hash{@keys}
猜你喜欢
  • 2013-03-21
  • 2010-09-14
  • 2014-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多