免费注册 查看新帖 |

Chinaunix

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

perl程序当中一个地方不明白?求解[简单] [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-04 17:18 |只看该作者 |倒序浏览
Here's an example that prints the characters used in the string "an apple a day", sorted in ascending
ASCII order:
%seen = ();
$string = "an apple a day";
foreach $byte (split //, $string) {
    $seen{$byte}++;
}
print "unique chars are: ", sort(keys %seen), "\n";
unique chars are: adelnpy

虽然很简单,但是小弟对这个不了解
   $seen{$byte}++;
  这里不知道是不是可以等价     
$seen{$byte}= $seen{$byte}+1;
这里什么意思呢?第一次调用
$seen{a}=0+1
$seen{n}=0+1
$seen{a}=1+1
最后不就是哈西seen当中 a建的值是3 是这样理解吗?
但是后来用key排序,然后输出?那么要   $seen{$byte}++; 后面的++有什么意义?

我去掉++后,运行后结果是这样:
zhang@zhang:~/programming/perl$ perl c-string.pl
Useless use of hash element in void context at c-string.pl line 7.
unique chars are:

为什么就不显示呢?。。诡异阿。。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2007-10-04 18:13 |只看该作者
说白了,还是懒。

论坛徽章:
0
3 [报告]
发表于 2007-10-04 18:17 |只看该作者
那能不能指点一下 勤劳的方法?我也就自己勤劳去了,不烦扰大家了。

论坛徽章:
0
4 [报告]
发表于 2007-10-04 18:26 |只看该作者
版主的意思是让你看书去,你就看书去吧

论坛徽章:
0
5 [报告]
发表于 2007-10-04 18:52 |只看该作者
丢脸了。。回去看书

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2007-10-04 19:12 |只看该作者
   $seen{$byte}++;
  这里不知道是不是可以等价     
$seen{$byte}= $seen{$byte}+1;

自己动手试试不就知道了?
如果不知道 ++ 是什么意思,看看书不就知道了?
那么要后面的++有什么意义?

当你知道了 ++ 的含义之后,自己分析一下那一段程序,不就知道是什么意思了?
这段程序又没有用到多么晦涩的技巧,
把基本的东西搞明白,就全都明白了。



说白了,还是懒。

论坛徽章:
0
7 [报告]
发表于 2007-10-07 21:47 |只看该作者
$seen{$byte}++
实际上是计算了$byte在$string里面出现的次数

不清楚的话可以把%seen里的东西打出来看看

[ 本帖最后由 YTHTdeWo 于 2007-10-7 21:49 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2007-10-07 22:40 |只看该作者
原帖由 flw 于 2007-10-4 18:13 发表
说白了,还是懒。



我们都是小白,还望前辈多多提携。

论坛徽章:
0
9 [报告]
发表于 2007-10-08 09:57 |只看该作者
原帖由 YTHTdeWo 于 2007-10-7 21:47 发表
$seen{$byte}++
实际上是计算了$byte在$string里面出现的次数

不清楚的话可以把%seen里的东西打出来看看


不过这段代码的含义是不是有问题
打印出来的显然不是unique chars...

论坛徽章:
0
10 [报告]
发表于 2007-10-08 10:09 |只看该作者
原帖由 bood 于 2007-10-8 09:57 发表


不过这段代码的含义是不是有问题
打印出来的显然不是unique chars...

没有问题吧,一切都正常啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP