在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 10928|回复: 5

[求助] perl问题求教

[复制链接]
发表于 2011-11-21 20:18:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
1、perl中有一个原则只要不会因为移除括号而改变原意,括号就可加可不加。”。但是在foreach循环中,那个列表变量所加的括号似乎不能省略,即使数组前加上@符号,很明确的指出是循环所要读取的列表数组!
2、在perl排序中的$a、$b变量怎么理解,《perl入门》中提出该变量是perl内建的全局变量,遮盖如何理解?
发表于 2011-11-21 23:29:32 | 显示全部楼层
具体不清楚,不加编译过不了,
主要是有个符号优先级的问题,不加的话, @ab 就和后面的东西玩一起了,
是编译的顺序造成的,
foreach  my $var  @ab {
  print $var
}
“只要不会因为移除括号而改变原意,括号就可加可不加” ,这句话是
说不影响编译优先级下,比如 print @a  和 print ( @a )  效果一样,


2. 对啊, $a , $b  是本身package的 our 变量, 在sort里面指的是里面的各个元素,
如果你 my $a ;  my $b ; 这个就是lexcical 变量了,
总之$a , $b 是已经被定义了的东西,  很特殊的, 即使你不定义 my , 他们也存在
在各个包里面
 楼主| 发表于 2011-11-22 09:19:00 | 显示全部楼层
回复 2# icfbicfb


    谢谢斑竹,不过我想问一下,您关于$a和$b变量是在哪里看到的,我找了好些资料都没有看到?
 楼主| 发表于 2011-11-22 19:45:39 | 显示全部楼层
还有一个问题想向斑竹请教,就是按照小骆驼书上的说法,已定义但是未赋值的变量在标量上下文中使用时,应该是作为0来处理的,那么我在做数组下标索引时,如果使用未赋值的变量来作为索引,应该就是指向数组位置为0的元素,但是实际情况似乎并不是这样,编译器报如下错误:
"Use of uninitialized value in array element"这应该还是把未赋值的变量当做undef使用,这我就有些不解,望斑竹指教!
发表于 2011-11-22 23:15:50 | 显示全部楼层
回复 3# l2002924700

这个在learning perl里面是 在讲sort 函数的时候讲的,

比如 sort { $a <=> $b }  @data  ,

比大小

在programing perl里面 是 包变量这些吧,sort也讲
发表于 2019-5-24 11:08:53 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-19 06:57 , Processed in 0.021103 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表