小编jim*_*ock的帖子

为什么禁止在警卫内部使用远程功能

为什么我不能使用String或其他模块保护?

码:

def foo(s1, s2) when String.length(s1) == String.length(s2) do 
   # something
end
Run Code Online (Sandbox Code Playgroud)

当我希望使用模块功能时,如何优雅地重新格式化这种情况?

elixir

14
推荐指数
1
解决办法
5524
查看次数

作为 YAML 树的变量。如何保存缩进?

我有yml带模板的文件。模板是从 yml 树中间开始的键的一部分。

模板工作没问题,但缩进只保存最后一个键。如何保存所有键的缩进?

base.yml

app:
  config1:
    base: {{ service1.company.backend | to_nice_yaml(indent=2) }}
  config2:
    node: {{ service1.company.addr | to_nice_yaml(indent=2) }}
Run Code Online (Sandbox Code Playgroud)

config.yml

service1:
  company:
    backend:
      node1: "xxx"
      node2: "yyy"
      node3: "zzz"
    addr:
      street: ""
Run Code Online (Sandbox Code Playgroud)

我需要得到:

app:
  config1:
    base:
      node1: "xxx"
      node2: "yyy"
      node3: "zzz"
  config2:
    node:
      street: ""
Run Code Online (Sandbox Code Playgroud)

但真正的结果是:

app:
  config1:
    base:
      node3: "zzz"
node1: "xxx"
node2: "yyy"
  config2:
    node:
      street: ""
Run Code Online (Sandbox Code Playgroud)

node1并且node2不要保存缩进,Jinja2 解析器会获取最后一个节点。在下一步中,不正确的文件用于其他无法正确处理的角色。

ansible ansible-template

3
推荐指数
1
解决办法
4865
查看次数

标签 统计

ansible ×1

ansible-template ×1

elixir ×1