数组套散列和散列套散列报错,请指教
时间:2010-09-27
来源:互联网
print $b[0]{"2"},"\n"; <-- 报错
%d = ("m" => ["1" => 10, "2" => 20], "n" => ["1" => 100, "2" => 200]);
print $d{"m"}{"2"},"\n"; <-- 报错
为什么是错误的?要如何改?谢谢!
作者: 有行动才会有收获 发布时间: 2010-09-27
[]是数组的引用
例如:["1" => "a", "2" => "b"]等价于[("1","a","2","b")]
{}才是哈希的引用
改为:
- @b = ({"1" => "a", "2" => "b"}, {"a" => "A", "b" => "B"});
- %d = ("m" => {"1" => 10, "2" => 20}, "n" => {"1" => 100, "2" => 200});
作者: 珞水的大叔 发布时间: 2010-09-27
例如:["1" => "a", "2" => "b"]等价于[("1","a","2","b")]
{}才是哈希的引用
改为:
珞水的大叔 发表于 2010-09-27 15:49
好像不对啊,还是报错
作者: 有行动才会有收获 发布时间: 2010-09-27
作者: wfnh 发布时间: 2010-09-27
wfnh 发表于 2010-09-27 15:56
就是说这种写法不正确喽
那应该怎么写呢?
作者: 有行动才会有收获 发布时间: 2010-09-27
我在2楼里面写了啊
仔细看看
改为:
- @b = ({"1" => "a", "2" => "b"}, {"a" => "A", "b" => "B"});
- %d = ("m" => {"1" => 10, "2" => 20}, "n" => {"1" => 100, "2" => 200});
作者: 珞水的大叔 发布时间: 2010-09-27
有行动才会有收获 发表于 2010-09-27 15:52
我写的这个
例如:["1" => "a", "2" => "b"]等价于[("1","a","2","b")]
就是你原来错误写法的等价状况,它当然是错的啊……
作者: 珞水的大叔 发布时间: 2010-09-27
回复 有行动才会有收获
如果··你要你的print语句不变的话···可以这样定义数组:
@b = ({'1' => "a"}, {"2" => "b"}, {"a" => "A"},{"b" => "B"});
or
@b = ({'1' => "a", "2" => "b"}, {"a" => "A","b" => "B"});
作者: wfnh 发布时间: 2010-09-27
我在2楼里面写了啊
仔细看看
改为:
珞水的大叔 发表于 2010-09-27 16:07
我直接复制你的代码,执行正确
看来是我之前改错了
谢谢!
作者: 有行动才会有收获 发布时间: 2010-09-27
- my @b = ({"1" => "a", "2" => "b"}, {"a" => "A", "b" => "B"});
- my %d = ("m" => {"1" => 10, "2" => 20}, "n" => {"1" => 100, "2" => 200});
-
- print $b[0]{"1"},"\n";
- print $d{"m"}{"1"},"\n";
作者: shaneqi 发布时间: 2010-09-27
例如:["1" => "a", "2" => "b"]等价于[("1","a","2","b"]
就是你原来错误 ...
珞水的大叔 发表于 2010-09-27 16:09
是因为中括号的原因吗?
中括号会把=>变成逗号?
作者: 有行动才会有收获 发布时间: 2010-09-27

这个是属于在列表环境使用HASH变量的问题。
在这种情况下,它会把哈希的建值对转换成列表。
举个简单点的关系,如在标量环境使用数组,$a=@aa,那么数组返回的是元素个数。同样的道理。
作者: toniz 发布时间: 2010-09-27
差不多就是这个意思
准确来说 => 相当于 "",
例如:
a => 'b' 相当于 "a",'b'
作者: 珞水的大叔 发布时间: 2010-09-27
作者: 有行动才会有收获 发布时间: 2010-09-27
受教了,最近也受困与hash的使用
hash能否通过简单的赋值进行传递,还是只能传递hash的引用
作者: cocowool 发布时间: 2010-09-27
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28