rla*_*ter 49 string-concatenation puppet
这是我的天真方法:
# puppet/init.pp
$x = 'hello ' +
'goodbye'
Run Code Online (Sandbox Code Playgroud)
这不起作用.如何没有一个拼接的木偶字符串?
cze*_*vik 68
关键字变量插值:
$value = "${one}${two}"
Run Code Online (Sandbox Code Playgroud)
资料来源:http://docs.puppetlabs.com/puppet/4.3/reference/lang_variables.html#interpolation
请注意,虽然它可以在没有花括号的情况下工作,但您应该始终使用它们.
Nie*_*jes 22
我使用构造,我将值放入一个数组,然后'加入'它们.在这个例子中,我的输入是一个数组,在用':2181'连接后,结果值再次放入一个数组中,该数组以空字符串作为分隔符连接.
$zookeeperservers = [ 'node1.example.com', 'node2.example.com', 'node3.example.com' ]
$mesosZK = join([ "zk://" , join($zookeeperservers,':2181,') ,":2181/mesos" ],'')
Run Code Online (Sandbox Code Playgroud)
$ mesosZK的结果值
zk://node1.example.com:2181,node2.example.com:2181,node3.example.com:2181/mesos
Run Code Online (Sandbox Code Playgroud)
Mif*_*eet 16
其他答案中没有提到的另一个选项是使用Puppet的sprintf()函数,它的功能与它背后的Ruby函数相同.一个例子:
$x = sprintf('hello user %s', 'CoolUser')
Run Code Online (Sandbox Code Playgroud)
经验证可与木偶完美配合.正如chutz所提到的,这种方法也可以帮助您连接函数的输出.