Elixir 使用

2023-12-15 14:35 更新
雖然不是一個(gè)命令,但use是一個(gè)與require緊密關(guān)聯(lián)的宏,能讓你在當(dāng)前內(nèi)容中使用一個(gè)模塊.開(kāi)發(fā)者們經(jīng)常用use宏來(lái)往當(dāng)前語(yǔ)法空間中添加外部功能,通常是模塊.

例如,為了使用ExUnit框架來(lái)寫測(cè)試,開(kāi)發(fā)者需要使用ExUnit.Case模塊:

defmodule AssertionTest do
  use ExUnit.Case, async: true

  test "always pass" do
    assert true
  end
end

在幕后,use會(huì)要求給定的模塊,然后在其中調(diào)用__using__/1反饋,允許模塊往當(dāng)前內(nèi)容注入一些代碼.一般來(lái)說(shuō),下面的模塊:

defmodule Example do
  use Feature, option: :value
end

被編譯成

defmodule Example do
  require Feature
  Feature.__using__(option: :value)
end

至此我們關(guān)于Elixir模塊的介紹幾乎結(jié)束了.最后的話題是模塊屬性.


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)