下面的代码是否等效?至于调用模块方法,在两种情况下,都将使用Utilities.StringUtils.some_method(...)
嵌套模块
defmodule Utilities do
defmodule StringUtils do
end
end
名称中带点的模块
defmodule Utilities.StringUtils do
end
是的,没有。第一个定义根据模块名称自动定义别名:
defmodule Utilities do
defmodule StringUtils do
end
# Can access the module as StringUtils
end
而第二个:
defmodule Utilities.StringUtils do
# Cannot access the module as StringUtils
end
除此之外,两者定义的代码和模块完全相同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句