公共命名空间:内置名
使用方言[Perl]
使用[哇哇小可爱的方言]
第一句明确指出了使用什么,使用方言;
第二句也是使用方言的意思。
如果中括号里的内容,完全当做参数来处理,那么,第二句就难以确定使用什么。这里需要使用叫做“内置名”的技术,如下:
把参数[哇哇小可爱的方言]
修改为方言[哇哇小可爱的方言]
,这么一来,第二句就成了:
使用方言[哇哇小可爱的方言]
看上去有些累赘,但语义明确。
以上便是内置名的使用方法。
另一个例子,调用函数。
调用[激励函数]
调整为:
调用函数[激励函数]
把函数说了两遍。
内置名的工作原理
有两种可能的原理:
①字面上的替换。把[激励函数]
替换为函数[激励函数]
。
②仍然以句子为单位理解源代码。
调用[激励函数]
的原型是:
调用[re/^.+函数$/]
意思是,中括号里的参数,字面上是以"函数"结尾的。直觉告诉我要用正则表达式,如果有更好的办法,欢迎留言、评论。当公共命名空间建设好了之后,就能在其中讨论。
哇哇小可爱的方言
这是一个虚构的方言,有奇数个“哇”表示要喂奶,有偶数个“哇”表示换尿布,出现其它字符为出错。
在源代码中,最好明确说出使用什么方言。就像Linux脚本的开头第一句一样。
#!/usr/bin/perl
print "hello world\n";