- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载 第8学时 函 数 几乎所有的计算机语言都支持函数。函数是一组代码,可以按名字对它进行调用,以便 执行某项工作,然后返回某个值。在本书中,你要使用许多函数,比如,你已经使用了 p r i n t 、 r e v e r s e 、s o r t 、o p e n、c l o s e和s p l i t等函数。它们都是P e r l 的内置函数。 P e r l还允许你编写自己的函数。在 Pe r l 中,用户定义的函数称为子例程。与 P e r l 的内置函 数一样,用户定义的函数也可以拥有参数,并且可以将值返回给调用者。 P e r l还支持作用域的概念。作用域用于确定某个时间内程序能够看到的一组变量。由于有 了P e r l 的作用域,你就能够编写运行时不受你的程序的其余部分影响的函数。编写得非常出色 的函数可以在其他程序中重复使用。 在本学时中,你将要学习: • 如何定义你自己的函数和如何调用这些函数。 • 如何将值传递给函数,然后返回值。 • 如何使用use strict来编写程序,以便强制使用某种结构。 8.1 创建和调用子例程 可以使用下面的代码来创建用户定义的子例程: P e r l 中的子例程名与第2 学时中介绍的标量、数组和哈希结构的命名约定是相同的。子例 程与现有的变量可以使用相同的名字。但是,你应该避免创建名字与 P e r l 的内置函数和运算符 相同的子例程。如果在 P e r l 中创建了名字相同的两个子例程,那么在报警特性激活的情况下, P e r l就会发出一条警告消息,否则第二个定义的名字会使第一个名字被忘记。 当子例程被调用时,子例程的代码启动运行,并且任何返回值均被重新传递到子例程被 调用时的位置。(调用子例程和返回值的内容将在后面介绍。)例如,下面这个短子例程将提 示用户输入一个答案: 若要调用一个子例程,可以使用下面两个语句行中的一个: Y e s n o ( ) ; 或者 Y e s n o ( ) ; 如果代码中已经声明了子例程,那么可以使用第二个语句(不带 ); y e s n o ()语句 是任何位置上都能使用的。在本书中,我们将使用不带 的语句形式,虽然两种语句形式都 可以使用。 90使用第一部分 Perl 基础 下载 当子例程被调用时,P e r l 能够记住它是在什么位置被调用的,并执行子例程的代码,然后, 当子例程运行完成时,返回它记住的程序中的位置,如下面这个例子所示: P e r l 的子例程可以在程序中的任何位置进行调用,包括在其他子例程中进行调用,如下所示: 8.1.1 返回子例程的值 子例程并不只是用于按照一个便于使用的名字将代码组合在一起。子例程与 P e r l 的函数、 运算符和表达式一样,它也有一个值。这个值称为子例程的返回值。子例程的返回值是子例 程中计算的最后一个表达式的值,或者是 r e t u r n语句显式返回的值。子例程的值是在子例程被 调用时计算的,然后该返回值将用于调用的任何子例程中。现在请看下面这个代码: 在上面这个代码段中,若要使 P e r l计算表达式 8* t w o _ b y _ f o u r ()的值,那么子例程t w o _ b y _ f o u r ()便开始运行,并返回值8 。然后计算表达式8* 8 ,并输出6 4 。 值也可以由子例程的 r e t u r n语句显式返回。当你的程序需要在子例程结束之前返回,或者 当你想要明确知道返回的是什么值,而不是“堕入”子例程的结尾并使用最后的表达式的值 时,就需要使用r e t u r n语句。下面这个代码段同时使用了两种方法: 子例程能够返回数组和哈希结构,也能返回标量,如下所示: 第8学时 函 数使用91 下载 8.1.2 参数 上面的所有子例程举例都有一个共同点,那就是它们都对硬编码的数据( 2* 4 )或者变量 进行操作,而这些变量里边恰好拥有正确的数据( x _ g r
您可能关注的文档
- 生物信息学-bioinformatics.pdf
- 白血病简介及病因.ppt
- 译著-爱手册01白血病.pdf
- 白血病-病因部分.ppt
- 微阵列比较基因组杂交技术检测不明原因智力低下_发育迟缓患儿的基因组拷贝数变异.pdf
- CYP2D6与CYP2C19多态性.pdf
- 细胞色素P450_CYP450_遗传多态性研究进展.pdf
- 文献_AmpliChip for Cytochrome P-450 Genotyping.pdf
- 文献_Cytochromes P450 a success story.pdf
- 文献_Extreme Warfarin Sensitivity in Siblings Associated With.pdf
文档评论(0)