Elixir 進口

2023-12-15 14:34 更新
我們使用import來簡單地從其它模塊中不帶前綴地獲取函數(shù)或宏.舉個例子,如果我們想要多次使用List模塊中的duplicate/2函數(shù),我們可以簡單地進口它:
iex> import List, only: [duplicate: 2]
List
iex> duplicate :ok, 3
[:ok, :ok, :ok]

這時,我們只進口了List模塊中的duplicate函數(shù)(帶兩個參數(shù)).選項:only的作用是避免將模塊中的所有函數(shù)都導入命名空間中,選項:except的作用是將模塊中除了列表里的其它所有函數(shù)都導入.

import也支持將:only設置為:macros:functions.例如,想要進口所有宏,可以這樣寫:

import Integer, only: :macros

或者進口所有函數(shù):

import Integer, only: :functions

注意import也有語法范圍.這意味著我們可以在函數(shù)定義中進口特定的宏或函數(shù):

defmodule Math do
  def some_function do
    import List, only: [duplicate: 2]
    duplicate(:ok, 10)
  end
end

在上述例子中,進口的List.duplicate/2只在這個特定的函數(shù)中時可見的.duplicate/2在這個模塊中的其它任何函數(shù)中都是不可用的(或其它任何模塊).

注意import一個模塊就自動require了它.


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號