rsdb.net
当前位置:首页 >> pErl为什么数组名不能是变量 >>

pErl为什么数组名不能是变量

你这样的命名本来就是错的... 去掉 strict, 你就不会发现这样的命名是不对的, 往後的处理也将是错的. ( 如果结果还是对的, 那只是你走运而已 ) 想像一下 my @array = ( 1..10 ); my $array[1] = 10; @array = (); print @array; 你还能理解 $arr...

1. @{....}[...] 先不论这里有没有写错, 但这种表达方式, 以 @ 开头, 头面有 [ ] , 我们叫 array slice 是应该放在等号右手边的 @arr0 = (0..10)@arr1 = @arr0[1..2]; # @arr1 = 1, 2$x = [ 1..10 ];@y = @{$x}[1,2]; # @y = 1, 2这里你放到了左...

你可以用hash,将名字作为键,指向一个数组,例如: perl -le ' $hash{"test"}[0]=1 ; $hash{"test"}[1]=100 ; print "@{$hash{\"test\"}}" ; '

当然可以了试试不就知道了

可以试一下这几种方式,每种方式各有优劣: #!/bin/perl -w use strict; my @arr = ( "aaa","bbb","ccc","ddd","eee","fff"); # 这个是数组 my $vv = "ddd"; # 这个是要查找的变量 # 方法1,:使用类似c语言的风格,遍历这个数组,查找变量是否匹...

你向子程序中传递的参数为一个数组的ref, max(\@array1); 那么你在子程序中用shift @_ 获得的只可能是一个数组ref地址,也就是最后输出的ARRAY 如果你在传递参数时,直接将数组传递给子程序,如max(@array1),那么,结果就会是你需要的那个样子。

数组的下标从0开始,$#array是一个特殊的变量,它的值就是数组array的最后的元素的下标,假设array有3个值,最后的下标就是2(依次是0、1、2),假设你的数组名字为@HHH,最后的索引就是$#HHH. 负值索引就是从后面依次取数组的索引,依次是(-1,-...

PERL的参数可以使用数组,调用的时候要在%或者@前面加上\,否则就把数组的值传递给函数了,下面是调用的例子: Run(\%o, $ch, $num); 这个函数Run使用三个参数,第一个是数组类型,函数定义就没什么特殊的: sub Run { my($o, $ch, $num) = @_; ...

别用qw了,qw是里的\n\t不转义的,相当于使用单引号。 你还是用@test = ("fred", "harley\n", "alison\t", "shawn");吧

首先来个基本函数参数的传递 sub hello { print "Hello @_" }hello ("World!", "I am Robot" ) ; # 打印出 Hello World! I am Robot这里值得留意的就是 @_ 就是装载所有传入的参数的数组 ( 看好了, 这其实是数组啊!! ) 所以, 将上面的改一下, 就...

网站首页 | 网站地图
All rights reserved Powered by www.rsdb.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com