免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1926 | 回复: 9
打印 上一主题 下一主题

我想定义一个散列的散列的数据结构,如下的表达方法怎么不对呢? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-21 18:36 |只看该作者 |倒序浏览
#!/usr/bin/perl

my $hc = \%HH = (
60.215.128.217 => {
d123 => "data1",
d124 => "data2",
d125 => "data3",
},
58.63.236.99 => {
d123 => "data1",
d124 => "data4",
d125 => "data2",
d122 => "data3",
},
125.211.213.33 => {
d111 => "data6",
d112 => "data6",
d113 => "data6",
d114 => "data7",
d115 => "data4",
d120 => "data8",
d121 => "data9",
},
58.63.235.60 => {
d120 => "data6",
d121 => "data7",
},
60.28.164.208 => {
d122 => "data3",
},

);


print $hc->{58.63.236.99}->{d123}."\n";


我想定义一个散列的散列的数据结构,如上的表达方法怎么不对呢?
那我需要怎么定义呢?

论坛徽章:
0
2 [报告]
发表于 2010-02-21 19:01 |只看该作者
my $hc = \%HH = (...)
这样不行吧?

论坛徽章:
0
3 [报告]
发表于 2010-02-21 21:05 |只看该作者
看一下骆驼,数据结构一章

论坛徽章:
1
未羊
日期:2014-09-08 22:47:27
4 [报告]
发表于 2010-02-21 21:22 |只看该作者
$hashref = {1=>{},2=>{},3=>{}};

论坛徽章:
0
5 [报告]
发表于 2010-02-22 12:19 |只看该作者
回复 1# ccc77


    发个link给你参考一下:http://www.pgsqldb.org/mwiki/index.php/DataStructures

论坛徽章:
0
6 [报告]
发表于 2010-02-22 15:18 |只看该作者
my $hc = {
60.215.128.217 => {
d123 => "data1",
d124 => "data2",
d125 => "data3",
},
58.63.236.99 => {
d123 => "data1",
d124 => "data4",
d125 => "data2",
d122 => "data3",
},
125.211.213.33 => {
d111 => "data6",
d112 => "data6",
d113 => "data6",
d114 => "data7",
d115 => "data4",
d120 => "data8",
d121 => "data9",
},
58.63.235.60 => {
d120 => "data6",
d121 => "data7",
},
60.28.164.208 => {
d122 => "data3",
},
};

论坛徽章:
0
7 [报告]
发表于 2010-02-23 00:07 |只看该作者
my $hc = {
60.215.128.217 => {
d123 => "data1",
d124 => "data2",
d125 => "data3",
},
58.63.236 ...
shaneqi 发表于 2010-02-22 15:18



这是定义的匿名散列的引用呀。

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
8 [报告]
发表于 2010-02-23 04:13 |只看该作者
注意你的$hc是个scalar,因此赋值的时候右值是个comma-operator sequence而不是你想要的list constructor:
$hc = {...};
%hc = (...);

你得时刻注意自己处在的上下文,到底是列表上下文还是标量上下文。

ps:以前一直觉得perl看上去挺不舒服的,刚刚看了一点儿go过来,发现perl真可爱……(更不用说C和Python了……)

论坛徽章:
0
9 [报告]
发表于 2010-02-23 10:14 |只看该作者
回复 7# ccc77

看书没有啊 http://www.pgsqldb.org/mwiki/ind ... 4.E6.95.A3.E5.88.97
  1.    %HoH = (
  2.       flintstones => {
  3.          husband => "fred",
  4.          pal    => "barney",
  5.       },
  6.       jetsons => {
  7.          husband => "george",
  8.          wife    => "jane",
  9.          "his boy" => "elroy",      # 键字需要引号
  10.       },
  11.       simpsons => {
  12.          husband => "homer",
  13.          wife    => "marge",
  14.          kid     => "bart",
  15.       },

  16.    );
复制代码

论坛徽章:
0
10 [报告]
发表于 2010-02-23 11:04 |只看该作者
回复 8# starwing83


   我觉得你们都说对了。
  我已经理解了,谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP