我想使用 puppet 在文件中放置一些值,但是当我在 ruby 模板中执行以下操作时:
<% @_zoo_cfgs.each do |zooconfig| -%>
<%=zooconfig -%>
<% end -%>
Run Code Online (Sandbox Code Playgroud)
我在生成的文件中得到以下内容:
server.1=a1-dev-mem333.lab.lynx-connected.com:2888:3888(trailing whitespace)
Run Code Online (Sandbox Code Playgroud)
但我想要以下内容:
server.1=a1-dev-mem333.lab.lynx-connected.com:2888:3888(no trailing whitespace)
Run Code Online (Sandbox Code Playgroud)
在值之前或之后的文件中没有额外的空格。任何人都可以让我知道如何做到这一点?
当您使用 关闭 ERB 标签时-%>,紧跟在关闭标签之后的任何换行符都将被抑制。但是,如果下一个字符是其他字符,例如空格字符,则没有抑制。也许在您的情况下更重要的是,在任何情况下都不会抑制模板下一行的前导空格。
至少有两种方法可以处理这种情况。
<% @_zoo_cfgs.each do |zooconfig| -%>
<%=zooconfig -%>
<% end -%>
Run Code Online (Sandbox Code Playgroud)
<%# assumes that @_zoo_cfgs is an array: -%>
<%= @_zoo_cfgs.join("\n") -%>
Run Code Online (Sandbox Code Playgroud)