2011-08-10 25 views
1

是否有与模块的进口程序有以下行为的任何编程语言:有没有非单例模块的​​编程语言?

import lib as x 
import lib as y 
x == y # False 

这是Python语法;尽管Python会从比较中返回True。我不知道有这种行为的语言。有没有这种情况下明确是“语言​​功能”而不是a workaround

回答

4

CommonJS modulesNodeJS modules提供了这样一种情况,其中每个import/require返回分配给变量的对象,然后通过该引用访问要素。

Newspeak modules(PDF)提供了一个更加注重研究的模块,其中模块用参数实例化,然后分配给一个变量/本地插槽,它提供了更大的灵活性,但显然Newspeak并不常用。