免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 2gua
打印 上一主题 下一主题

Perl 5.10里的say,究竟有什么意义呢? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-01-02 16:08 |只看该作者
当然say比print有意义 就像ruby的puts 语法简单 看起来更像话说
我觉得高级语言就该有好的语法 就想说英语一样
比如举个例子 say Time.now.3_days_ago 写出来的东西 可读性和维护性都很高..

论坛徽章:
0
12 [报告]
发表于 2010-01-02 18:24 |只看该作者
也是,C里面有printf,也有puts

论坛徽章:
0
13 [报告]
发表于 2010-01-02 19:15 |只看该作者
看来大家还是比较支持的啦。

论坛徽章:
0
14 [报告]
发表于 2010-01-02 19:15 |只看该作者
原帖由 cxfcxf 于 2010-1-2 16:08 发表
当然say比print有意义 就像ruby的puts 语法简单 看起来更像话说
我觉得高级语言就该有好的语法 就想说英语一样
比如举个例子 say Time.now.3_days_ago 写出来的东西 可读性和维护性都很高..


嗯··很同意··一看就知道是啥意思··就像看英语一样··虽然对英语不怎样··但是··perl如果是这样的话··是很不错的·

论坛徽章:
0
15 [报告]
发表于 2010-01-02 19:33 |只看该作者
原帖由 wfnh 于 2010-1-2 19:15 发表


嗯··很同意··一看就知道是啥意思··就像看英语一样··虽然对英语不怎样··但是··perl如果是这样的话··是很不错的·


你也许该学学ruby, hash.key是一个方法,hash.key?也是一个方法,x.name是一个方法(get),x.name=还是一个方法(set),多么直观呀~~

论坛徽章:
0
16 [报告]
发表于 2010-01-02 19:41 |只看该作者
原帖由 兰花仙子 于 2010-1-2 19:33 发表


你也许该学学ruby, hash.key是一个方法,hash.key?也是一个方法,x.name是一个方法(get),x.name=还是一个方法(set),多么直观呀~~

呵呵,岂止是“.key?”,“.key!”也是一个方法呢。

论坛徽章:
0
17 [报告]
发表于 2010-09-26 13:09 |只看该作者
更接引英语语言习惯吧。。
另外每次使用的时候比print少了打出2个字母的时间
mwm5 发表于 2010-01-02 11:43



    恐怕不是吧,还有 '\n'哦 算起来少打4个字符!

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
18 [报告]
发表于 2010-09-26 15:16 |只看该作者
恐怕不是吧,还有 '\n'哦 算起来少打4个字符!
obsd178 发表于 2010-09-26 13:09

还有【, 】又是两个字符(注意空白)。

加起来少输入 6 个字符。

论坛徽章:
0
19 [报告]
发表于 2014-11-26 10:15 |只看该作者
最近做perl入门习题,抄了一个答案,发现答案中使用的是say,进程脚本再接收到信号后,如果是用say的,可以正常实时输出提示文字,而如果使用print,只有在结束整个进程后,才会将所有输出一并放出,不晓得是我平台特殊,还是say或者print的缓冲机制不同,代码如下:
#!/usr/bin/perl

use 5.010;

sub hup_handler{
        state $n;
        say "Caught HUP", ++$n;
}

sub usr1_handler{
        state $n;
        say "Caught USR1", ++$n;
}

sub usr2_handler{
        state $n;
        say "Caught USR2", ++$n;
}

sub int_handler{
        say "Caught INT. Exiting.";
        exit;
}

print "My PID is <$$> \n";

foreach(qw(int hup usr1 usr2)){
        $SIG{uc $_} = "${_}_handler";
}

while(1){
        sleep 1;
}

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-12-16 06:20:00
20 [报告]
发表于 2014-11-26 22:55 |只看该作者
Larry说懒惰即美德,平均print "XXX\n" 比 say "XXX" 要多打4个字母啊。。回复 5# 2gua


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP