什么是预处理块

来源:学生作业帮助网 编辑:作业帮 时间:2024/12/01 03:23:33
什么是预处理块
x}U[RJ,@%5-8+E peHK~ʼ26`/`Kdgl!=PkOsA=>mGyynv6/Oɏ>}NX]lVsΪgs R`Gu+T5Q;*S' 0meX͓0hנJ3S#[ 8-t&lBoH|Yzxk"G((b n^&M &Cp2 #0 `50goS[`_E+ gyrHeET@(#cB_0_$1".+Mx`]X9 DDHƠ"b/a|61]L .n`tF u8ů&W֙!2]ԡѶfe'NbWeZZziRNi`j/v?ԶCZz1yHvT2+6|R%,k-, yjVGVы(7^_E,{P=독$(:|ء]mv},]+fz-yja3#cGb#Ǵ@R<+Ӏ}Jf .r*\3  {x0*% #꾠wB챟bܝ0iABU0UB'OX^VYzd3QiV fbS]ڠ//K.[|Elz]"M1^60%&pnUqA;e0NH[,djwW(jxhM\Q" YXcLرjYFQ,t >.w<d{O#2%.Y/]upU]Zn}F@@b-g7h(,%igȭ̮&p"'`9|} ,zYDNLF-G^r3ɼImmoO

什么是预处理块
什么是预处理块

什么是预处理块
用法(pragma)是一种特殊类型的模块,它影响你的程序编译阶段.有些用法模块可以影响程序的 运行阶段.把它们当作一种编译器提示.因为它们需要在编译时出现,所以只有通过 use 或者 no 调用它们的时候它们才能运转,而到了 require 或者 do 运行的时候,编译早就完了.习惯上,用法名字都是用小写字符写的,因为小写模块名字是为 Perl 版本自己保留的.在写你自己的模块的时候,至少在模块名字中使用一个大写字符以避免和用法名字冲突.和普通模块不同的是,大多数用法把它们的影响局限于调用它们的最内层的闭合块.换句话说, 它们是词法范围的,就好象 my 变量一样.通常,一个外层块的词法范围包括任何嵌在它内部的 内层块,但是内层块可以用 no 语句撤消一个来自外层块的词法范围用法: use strict; use integer; 用法模块比 Perl 带的其他模块里这种用法更多一些,而它们也形成了完成而又基本的 Perl 编译环境.如果你不知道怎样给编译器传递提示,那么你很难把编译器用好,因为我们将在描述用法上 下一些工夫.另外一件要注意的事情是我们经常拿用法做特性原型,稍后便把它们编码成“真正”的语法.因此 你会在一些程序里看到废弃了的用法,比如 use attrs,现在它的功能已经是子过程声明语法直接 支持了的部分了.类似的,use vars 现在正处在被 our 声明代替的过程中.而 use subs 可能 将来会被普通子过程声明中的 override 属性代替.我们现在正快得可怕地破坏做事情的老方法, 但是我们认为新方法更漂亮一些.