例子:
my $some_variable;
my @some_variable;
my %some_variable;
我知道,@
似乎是阵列,$
对原始的,它是完全正确的? 什么是%
?
例子:
my $some_variable;
my @some_variable;
my %some_variable;
我知道,@
似乎是阵列,$
对原始的,它是完全正确的? 什么是%
?
$
是标量,@
是数组,而%
是散列。
是的,但是为什么$ _和@_对于函数中包含传入参数是相同的?或者我错了? – nicola 2011-04-05 15:11:45
@nicola,数组和散列元素使用“$”。 '$ _ [0]'是'@ _'的第一个元素。两者都不会被'$ _'所破坏。 – ikegami 2011-04-05 15:25:56
@nicola =>'@ _'是一个包含传递给函数的所有参数的数组。 '$ _'是一个包含当前项目的标量,例如'for(@array){...}'。 '$ _'与'@ _'无关。您可能会感到困惑的地方在于,要访问参数列表中的单个元素,您需要编写“$ _ [0]”,它访问第一个元素。在这里,sigil改变为'$'来表示你正在访问一个标量,但是尾部的'[0]'告诉perl它正在访问'_'中的标量元素或者换句话说,'@ _' 。 – 2011-04-05 15:30:36
$变种表示单值的标量变量
@var表示阵列
%VAR表示关联数组或散列(它们都是相同的)
$
为标量,@
为阵列,而%
是散列。有关更多信息,请参阅文档的Variable Types部分。
关于Perl的好处之一是它带有内置的手册。键入以下命令:
perldoc perlintro
,并采取一看部分Perl的变量类型。您也可以在Perl变量的perldoc.perl.org部分看到这一点。
快速概述:
%FOO是散列,这就像一个数组,因为它可容纳多于一个的值,但是散列键阵列。例如,我有一个密码哈希,名为%密码。这由用户名键入,值是用户的密码。例如:
$ password {Fred} =“swordfish”; $ password {Betty} =“秘密”;
$ user =“Fred”; print“用户$ user的密码是$ password {$ user} \ n”; #打印出剑鱼 $ user =“Betty”; print“用户$ user的密码是$ password {$ user} \ n”; #Prints了秘密
注意,当你在一个哈希或阵列指单个值,使用美元符号。这对初学者来说有点令人困惑。
我会建议你拿到美洲驼书。 美洲驼书是Learning Perl,是一个很好的语言介绍。
真的,perl的任何入门级书籍都应该能够告诉你这一点。 – 2011-04-05 14:56:11
你可以在google上查找'sigil'。 – Benoit 2011-04-05 14:58:14
这不可能不是重复 – DVK 2011-04-06 06:46:42