環境 (env)

此物件由 environment() 回傳,並儲存關於環境變數應如何設定的詳細資訊。它應作為 env 關鍵字參數傳遞給測試和其他函式。

自 0.58.0 版本起 env.append()env.prepend() 可以對同一個 varname 多次呼叫。較舊的 Meson 版本會發出警告,且只會生效最後一次的操作。

由以下函式回傳

環境物件由以下函式和方法回傳

範例

```meson
env = environment()

# MY_PATH will be '0:1:2:3'
env.set('MY_PATH', '1')
env.append('MY_PATH', '2')
env.append('MY_PATH', '3')
env.prepend('MY_PATH', '0')
```

環境方法

env.append()

將給定的值附加到環境變數的舊值,例如 env.append('FOO', 'BAR', 'BAZ', separator : ';') 如果 FOO 的值為 BOB,則會產生 BOB;BAR;BAZ;如果該值未定義,則會產生 BAR;BAZ

簽名

# appends the given values to
void append(
  str variable,     # The variable to modify
  str Value...,     # The values to append

  # Keyword arguments:
  separator : str  # The separator to use
)

參數

env.append() 方法接受以下位置參數

名稱 類型 描述 標籤
variable 字串

要修改的變數

此外,此方法接受介於 0無限大 個可變參數 (Value...),其類型為 str

要附加的值

最後,env.append() 接受以下關鍵字參數

名稱 類型 描述 標籤
separator 字串

要使用的分隔符號。如果未明確指定,則將使用主機作業系統的預設路徑分隔符號,即 Windows 為 ';',而 UNIX/POSIX 系統為 ':'。


env.prepend()

append 相同,只是它寫入變數的開頭。

簽名

# Same as `append` except that it writes to the beginning of the variable
void prepend(
  str variable,     # The variable to modify
  str Value...,     # The values to prepend

  # Keyword arguments:
  separator : str  # The separator to use
)

參數

env.prepend() 方法接受以下位置參數

名稱 類型 描述 標籤
variable 字串

要修改的變數

此外,此方法接受介於 0無限大 個可變參數 (Value...),其類型為 str

要前置的值

最後,env.prepend() 接受以下關鍵字參數

名稱 類型 描述 標籤
separator 字串

要使用的分隔符號。如果未明確指定,則將使用主機作業系統的預設路徑分隔符號,即 Windows 為 ';',而 UNIX/POSIX 系統為 ':'。


env.set()

將第一個參數中指定的環境變數設定為由分隔符號連接的 varargs 中的值。例如,env.set('FOO', 'BAR') 將環境變數 FOO 設定為值 BAR

簽名

# Sets the environment variable
void set(
  str variable,     # The variable to modify
  str Value...,     # The values to set

  # Keyword arguments:
  separator : str  # The separator to use
)

參數

env.set() 方法接受以下位置參數

名稱 類型 描述 標籤
variable 字串

要修改的變數

此外,此方法接受介於 0無限大 個可變參數 (Value...),其類型為 str

要設定的值

最後,env.set() 接受以下關鍵字參數

名稱 類型 描述 標籤
separator 字串

要使用的分隔符號。如果未明確指定,則將使用主機作業系統的預設路徑分隔符號,即 Windows 為 ';',而 UNIX/POSIX 系統為 ':'。


env.unset()

取消設定指定的環境變數。如果此變數不存在,則不會發生任何事。

簽名

(自 1.4.0 版本起)

void unset()


搜尋結果如下