在perl的命名空间,包和模块之间有什么区别?

前端之家收集整理的这篇文章主要介绍了在perl的命名空间,包和模块之间有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
命名空间或包是一样的?我使用Perl,我们只有包裹.我知道还有其他的编程语言也包括模块.

有什么不同?

解决方法

命名空间是一个通用计算术语,意思是用于不同标识符集合的容器.相同的标识符可以独立出现在不同的命名空间中,并引用不同的对象,并且明确标识对象的完全限定标识符由命名空间加标识符组成.

Perl使用package关键字实现命名空间.

一个Perl模块是完全不一样的.它是一段Perl代码,可以并入任何使用use关键字的程序.文件名应以.pm – 以Perl模块结尾,并且其包含的代码应该具有使用等同于文件名称的包名称的包语句,包括其路径.例如,一个写在My / Useful / Module.pm文件中的模块应该有一个包语句,如包My :: Useful :: Module.

你可能会想到的是一个类,它再次是一般的计算术语,这一次意味着一种面向对象的数据类型. Perl使用它的包作为类名,面向对象的模块将有一个构造函数子程序 – 通常称为new – 将返回对已经被使用为blessed的数据的引用,使其以面向对象的方式运行.绝对不是所有的Perl模块都是面向对象的:一些可以是简单的子例程库.

猜你在找的Perl相关文章