找回密码
 注册
查看: 2306|回复: 0

perl中的空参数列表

[复制链接]
发表于 2011-11-13 22:26:39 | 显示全部楼层 |阅读模式
经过改进后的&max 有了很大的提高,其参数可以不是2 个。但,如果参数个数为0,会发生什么情况呢?
初次遇到这个问题时,可能认为其过于深奥。毕竟,谁会调用&max 而不给其参数呢?但是,某人可能如下书写:
$maximum = &max(@numbers);
而@numbers 可能为空,例如可能从空文件读入。因此,你需要知道,&max 此时会怎样处理呢?
子程序第一行将@_的第一个元素赋给$max_so_far。这不会有什么坏影响;数组为空,shift 操作返回undef 给$max_so_far。
现在进入foreach 循环体,由于为空,循环体一次都不执行。
现在,Perl 返回$max_so_far 的值undef。在某种意义下,这是正确的答案,因为空表中没有最大的元素。
当然,当调用此子程序时注意返回值可能为undef,或者保证调用的参数非空。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-12-4 00:50 , Processed in 0.043794 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表