免费注册 查看新帖 |

Chinaunix

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

《perl语言入门》第五版中的一个课后习题,看不明白答案,谢谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-19 20:20 |只看该作者 |倒序浏览
本帖最后由 鸡鸡哥 于 2011-12-19 20:21 编辑
  1. #!/usr/bin/perl -w
  2. use 5.010;
  3. use strict;

  4. sub greet{
  5.   state $last_person;
  6.   my $name=shift;
  7. #上面的这个shift是什么意思?
  8. #我看说明,shift是操作数组的第一个元素的,这里的数组在哪里,而且是$name,说明是标量,不知为何?
  9.   print "Hi $name!";
  10. #这个$name取值是Fred,为何是Fred?

  11.   if ( defined $last_person ){
  12.     print "$last_person is alse here!\n";
  13.   } else {
  14.     print "You are the first one here!\n";
  15.   }
  16. $last_person = $name;
  17. }

  18. greet('Fred');
  19. greet('barney');
复制代码

论坛徽章:
0
2 [报告]
发表于 2011-12-19 20:37 |只看该作者
搜索了一下,看来很多人是不明白子程序中shift的调用问题
http://zhidao.baidu.com/question/85574641
估计perl写的多了,就知道问题了,就习惯了这种表达

论坛徽章:
0
3 [报告]
发表于 2011-12-20 12:13 |只看该作者
这本书后面的习题从来都没看过,呵呵。。

论坛徽章:
3
CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2014-03-27 15:44:382015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2011-12-20 16:42 |只看该作者
要习惯perl的一些习惯

论坛徽章:
0
5 [报告]
发表于 2011-12-20 20:10 |只看该作者
谁能帮我分析分析以下链接中的几个问题?感激不尽~~
http://bbs.chinaunix.net/thread-3631510-1-1.html

论坛徽章:
0
6 [报告]
发表于 2011-12-21 13:04 |只看该作者
my $name=shift;
其实这句话的意思是:
my $name=shift @_;
这样可以理解了吧。


论坛徽章:
1
未羊
日期:2014-09-08 22:47:27
7 [报告]
发表于 2011-12-22 08:24 |只看该作者
其实楼主把《Perl语言入门》这本书看完,就不会有这种问题了。

论坛徽章:
0
8 [报告]
发表于 2011-12-22 17:50 |只看该作者
6楼正解

论坛徽章:
0
9 [报告]
发表于 2011-12-23 17:53 |只看该作者
naletive 发表于 2011-12-21 13:04
my $name=shift;
其实这句话的意思是:
my $name=shift @_;

我一直尝试理解,最后发现,其实也只能这样理解,子程序的参数,好像都是数组或者列表值,默认为@_,所以你这么说理解是正确的。

论坛徽章:
46
15-16赛季CBA联赛之四川
日期:2018-03-27 11:59:132015年亚洲杯之沙特阿拉伯
日期:2015-04-11 17:31:45天蝎座
日期:2015-03-25 16:56:49双鱼座
日期:2015-03-25 16:56:30摩羯座
日期:2015-03-25 16:56:09巳蛇
日期:2015-03-25 16:55:30卯兔
日期:2015-03-25 16:54:29子鼠
日期:2015-03-25 16:53:59申猴
日期:2015-03-25 16:53:29寅虎
日期:2015-03-25 16:52:29羊年新春福章
日期:2015-03-25 16:51:212015亚冠之布里斯班狮吼
日期:2015-07-13 10:44:56
10 [报告]
发表于 2011-12-23 20:33 |只看该作者
鸡鸡哥 发表于 2011-12-23 17:53
我一直尝试理解,最后发现,其实也只能这样理解,子程序的参数,好像都是数组或者列表值,默认为@_,所以你 ...

什么叫一直尝试理解, perldoc -f shift 下什么都说的清清楚楚,按教程一步一步走怎么会不学 perldoc
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP