Elixir模块导入的问题

作者 curator 所属板块 问答
我有一个问题, 场景如下: 我要在代码中使用一个默认没有被导入的模块, 比如 `:math` * 方式一: 只导入用到的函数, 这个比较明确, 好理解 ``` @spec fall_velocity(number()) :: number() def fall_velocity(distance) do import :math, only: [sqrt: 1] sqrt(2 * 9.8 * distance) end ``` * 方式二: 如果直接带模块名称调用某个函数, 比如 `:math.pow(2,10) ` 问题来了, 这种情况下Elixir是只导入这个函数呢? 还是整个`:math`模块全部导入?
2 回复
  • hex 发表
    只导入这个函数
  • Cifer 发表
    如果你确定你只会使用这一个函数, 那么就导入这一个函数好了, 导入模块的主要作用在于使用命名空间区分开了 模块函数和你自己写的函数, 不会产生命名污染