Chinaunix

标题: %hash =(('a',100,'b',200)); 这是什么语法 [打印本页]

作者: yakczh_cu    时间: 2013-09-02 22:03
标题: %hash =(('a',100,'b',200)); 这是什么语法
本帖最后由 yakczh_cu 于 2013-09-02 22:03 编辑
  1. %hash =(('a',100,'b',200));
  2. while (($k, $v) = each %hash) {
  3.   print "$k=>$v, "
  4. };
复制代码
两层括号就变出一个hash来,跟变戏法一样
作者: zhlong8    时间: 2013-09-02 23:50
楼主来卖萌的吧
作者: xiumu2280    时间: 2013-09-03 09:07
如果写成%hash=@array的话··默认是key=>value排列的···  不过至于2个括弧  这个没必要吧··
作者: mcshell    时间: 2013-09-03 09:12
LZ好萌啊。。。
作者: 兰花仙子    时间: 2013-09-03 11:09
yakczh_cu 发表于 2013-09-02 22:03
两层括号就变出一个hash来,跟变戏法一样


这里()的作用就是grouping,两对()、三对、甚至更多对,作用是一样的。
作者: py    时间: 2013-09-03 14:56
这就是错误语法,就像一行结束你点上10个分号一样
作者: wxlfh    时间: 2013-09-03 15:55
这里1层和N层括号,有区别吗?
作者: rubyish    时间: 2013-09-04 01:41
学习了!,以前没注意到这种写法。
以后,可以像这样写了。
  1. my %hash = ( ( ( ( ( ('a') ), ( (100) ) ), ( ( ('b') ), ( (200) ) ) ) ) );
复制代码

作者: davidbeckham921    时间: 2013-09-04 17:12
不明觉厉!
作者: 兰花仙子    时间: 2013-09-05 17:28
wxlfh 发表于 2013-09-03 15:55
这里1层和N层括号,有区别吗?


有个毛区别。just grouping.
作者: wxlfh    时间: 2013-09-06 09:11
回复 12# 兰花仙子


    我也是这个意思。不过,美女你爆粗口了
作者: botafuge    时间: 2013-09-06 15:41
多此一举的啦




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2