配置数据对象 (cfg_data)

此对象封装了用于生成配置文件的配置值。可以在 配置维基页面 中找到更深入的描述。

由以下函数和方法返回

配置数据对象对象由以下函数和方法返回

配置数据对象方法

cfg_data.get()

返回 varname 的值,如果该值未设置,则返回 default_value(如果已定义(自 0.38.0 起))并且如果未定义则会出错

签名

(自 0.38.0 起)

# Returns the value of `varname`, if the
str | int | bool get(
  str              varname,           # The name of the variable to query
  str | int | bool [default_value],   # The default value to return when `varname` does not exist
)

参数

方法 cfg_data.get() 接受以下位置参数

名称 类型 描述 标签
varname str

要查询的变量的名称

default_value str | int | bool

varname 不存在时要返回的默认值

[可选]


cfg_data.get_unquoted()

返回 varname 的值,但不带周围的双引号(")。如果该值未设置,则返回 default_value(如果已定义)并且如果未定义则会出错。

签名

(自 0.44.0 起)

# Returns the value
str | int | bool get_unquoted(
  str              varname,           # The name of the variable to query
  str | int | bool [default_value],   # The default value to return when `varname` does not exist
)

参数

方法 cfg_data.get_unquoted() 接受以下位置参数

名称 类型 描述 标签
varname str

要查询的变量的名称

default_value str | int | bool

varname 不存在时要返回的默认值

[可选]


cfg_data.has()

如果指定变量已设置,则返回 true

签名

# returns `true` if the specified variable is set
bool has(
  str varname,     # The name of the variable to query
)

参数

方法 cfg_data.has() 接受以下位置参数

名称 类型 描述 标签
varname str

要查询的变量的名称


cfg_data.keys()

返回配置数据对象的键数组。

可以使用 foreach 语句 迭代此数组。

签名

(自 0.57.0 起)

list[str] keys()


cfg_data.merge_from()

以另一个配置数据对象作为参数,并将该对象的所有条目复制到当前对象。

签名

(自 0.42.0 起)

# Takes as argument a different
void merge_from(
  cfg_data other,     # The other cfg_data object to merge into this one.
)

参数

方法 cfg_data.merge_from() 接受以下位置参数

名称 类型 描述 标签
other cfg_data

要合并到此对象中的另一个 cfg_data 对象。


cfg_data.set()

将变量设置为给定值

签名

# Sets a variable to a given value
void set(
  str              varname,     # The name of the variable to set
  str | int | bool value,       # The value to set

  # Keyword arguments:
  description : str  # Message / Comment that will be written in the
)

参数

方法 cfg_data.set() 接受以下位置参数

名称 类型 描述 标签
varname str

要设置的变量的名称

value str | int | bool

要设置的值

最后,cfg_data.set() 接受以下关键字参数

名称 类型 描述 标签
description str

将在结果文件中写入的消息/注释。替换假设文件具有 C 语法。如果您的生成文件是其他语言的源代码,则可能不想添加 description 字段,因为它很可能会导致语法错误。


cfg_data.set10()

cfg_data.set() 相同,但值是 truefalse,分别将被写入为 1 或 0

签名

# Is the same as cfg_data.set() but the value
void set10(
  str        varname,     # The name of the variable to set
  bool | int value,       # The value to set as either `1` or `0`

  # Keyword arguments:
  description : str  # Message / Comment that will be written in the
)
警告

小于 0 的数值具有意外行为,将转换为 true,大于 1 的数值具有更预期的但非预期的行为,被解释为 true

参数

方法 cfg_data.set10() 接受以下位置参数

名称 类型 描述 标签
varname str

要设置的变量的名称

value bool | int

要设置为 10 的值

传递数字原本没有意图使用,并且自 0.62 起已弃用。它将在 Meson 的未来版本中删除。如果您需要传递数字,请使用 .set 方法。

最后,cfg_data.set10() 接受以下关键字参数

名称 类型 描述 标签
description str

将在结果文件中写入的消息/注释。替换假设文件具有 C 语法。如果您的生成文件是其他语言的源代码,则可能不想添加 description 字段,因为它很可能会导致语法错误。


cfg_data.set_quoted()

cfg_data.set() 相同,但用双引号(")引起来。

签名

# Is same as cfg_data.set() but quotes the value in double quotes (`"`)
void set_quoted(
  str              varname,     # The name of the variable to set
  str | int | bool value,       # The value to set

  # Keyword arguments:
  description : str  # Message / Comment that will be written in the
)

参数

方法 cfg_data.set_quoted() 接受以下位置参数

名称 类型 描述 标签
varname str

要设置的变量的名称

value str | int | bool

要设置的值

最后,cfg_data.set_quoted() 接受以下关键字参数

名称 类型 描述 标签
description str

将在结果文件中写入的消息/注释。替换假设文件具有 C 语法。如果您的生成文件是其他语言的源代码,则可能不想添加 description 字段,因为它很可能会导致语法错误。


搜索结果是