开发者社区


C++/C | Java | .Net/Windows | Linux/Unix | 开源 | 其他
首页 - 编程
编程
全文搜索:   

把代码划分到逻辑单元
作者: ZDNet China
2004-02-13 12:05:11


本文译自Builder.com,未经许可请勿转载

使一个子程序包含一段独立的代码,这样的方法,就可以使得Perl语言中的子函数能够帮助把代码分解划分成一个个的逻辑单元。子功能块同样也可被用于创建一些大段的没有名称的代码,这样在返回的时候就可以用它们来进行传递。

子功能块支持下面的基本语句:

sub Name Prototype Attributes Block

所有这四个参数都是有可选择性的,但是Name和Block这两个参数中至少有一个要被具体化。因为参数Prototype和Attributes都很少用到,在这里我们就不讨论这两个参数了。

普通的定义和调用子程序的语句和大多数的编程语言差不多,如:

# declare and define subroutine 'foo'

subfoo

{

    print "foo";

}

# now call foo

foo();

声明一个没有定义的子程序,可以省略其代码段。定义一个匿名的子程序,就是定义一个没有名称,只包含代码的子程序,如:

# declare subroutine bar without defining it

sub bar;

# create an anonymous subroutine

$coderef = sub { print 'anonymous'; }

&$coderef;

# call the subroutine

子程序的参数通常是用特殊的数组@_来传递的。这意味着一个子程序可以改变那些传递给它的变量值,如$_[0], $_[1]等等。

为了完成一个调用函数的值传递,只需要将数组@_复制到一些特定的变量中去。下面是典型的Perl语言代码:

subfoo

{

    my ($key, $value) = @_;

    print "$key = $value ";

}

声明子程序可以避免函数受到其它程序的影响,同样也可以提高函数的复用性。



责任编辑:李宁

欢迎评论投稿

声明:
Builder.com.cn(原ZDNet China应用开发频道)原创文章版权所有,未经许可严禁转载,且不构成投资建议。
近期相关报道:
实用技术文档
J2me XML
C/C++ C#
Java Oracle
Mysql .Net
VB.NET CSS
SQL Server 数据库
SQL UNIX
Linux Jsp
PHP Perl
Javascript IIS
XHTML ColdFusion
ASP/ASP.NET Apache
AJAX
订阅技术邮件
订阅"技术圈"杂志!请在下面选择您感兴趣的专题,填写e-mail地址,然后按订阅按钮:
应用开发管理
VS.NET 周刊
Database 周刊
WEB Service周刊
JAVA 周刊
IT 认证
Windows服务器周刊
互联网开发
当Windows Server 2008专家得5000元现金大奖
CNET NETWORKS 中国: 爱卡汽车网 | CNET科技资讯网 | e询网 | CWEEK | 蜂鸟网 | GameSpot China | 个人电脑 | PChome | SPN | 网友世界 | ZDNet China | 中关村在线
CNET NETWORKS 美国: BNET | CNET.com | CNET Download.com | CNET News.com | CNET Reviews | CNET Shopper.com | GameSpot | MP3.com | mySimon | Release 1.0 | Search.com | TechRepublic | TV.com | Webshots | ZDNet
Copyright (c) 2006 CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
ZDNet 公司标识是 CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号