如何避免类型转换警告?

Posted

技术标签:

【中文标题】如何避免类型转换警告?【英文标题】:How to avoid type conversion warnings? 【发布时间】:2019-10-04 12:20:39 【问题描述】:

当我将dconf module 与循环一起使用时

- name: dconf | modify settings
  dconf:
    key: " item.key "
    value: " item.value "
    state: present
  loop:
    - key: "/org/gnome/libgnomekbd/keyboard/layouts"
      value: "['us', 'se']"
    - key: "/org/cinnamon/panels-height"
      value: "['1:40']"
  tags: "dconf"

我收到这样的警告:

[WARNING]:字符串字段中的值 ['us', 'se'](类型列表)被转换为“['us', 'se']”(类型 细绳)。如果这看起来不像您期望的那样,请引用整个值以确保它不会 改变。

[WARNING]:字符串字段中的值 ['1:40'](类型列表)已转换为“['1:40']”(类型字符串)。 如果这看起来不像您所期望的,请引用整个值以确保它不会改变。

我尝试了所有可能的方法来引用该值但没有结果

【问题讨论】:

FWIW, 引用自 dconf “值应以 GVariant 格式指定。由于这种格式的复杂性,最好查看 dconf 数据库中的现有值。” 这对我不起作用。我最终将string_conversion_action = ignore 添加到 ansible.cfg 【参考方案1】:

在我的例子中,我使用了静态值,我收到了这个警告。当我将我的值放入“”(引用)中时,警告不再显示。

【讨论】:

【参考方案2】:

你试过了吗

value: " item.value |string "

【讨论】:

我尝试了报价过滤器,但忘记了 Jinja 内置过滤器。谢谢jinja.pocoo.org/docs/2.10/templates/#string

以上是关于如何避免类型转换警告?的主要内容,如果未能解决你的问题,请参考以下文章

未经检查的演员表警告 - 如何避免这种情况? [复制]

C++的类型转换:static_castdynamic_castreinterpret_cast和const_cast(dynamic_cast还支持交叉转换,const_cast将一个类的con

某些 Java 泛型类型转换中的类型安全警告是啥意思?

在java中,String转换Date日期类型容易出现时间转换异常,如何避免!

在java中,String转换Date日期类型容易出现时间转换异常,如何避免!

Netbeans 警告类型转换太强,但如果删除转换则会出错