我想用Puppet::Functions.create_function
创建一个puppet ruby函数。在这里我定义一些参数。其中一些应该是可选的,或者应该具有默认值。
Puppet::Functions.create_function(:'foo') do
dispatch :bar do
param 'String', :param_1
param 'String', :param_2
param 'String', :param_3
def bar(a,b,c)
puts "#{a} - #{b} - #{c}"
end
end
param_1和param_3应该是可选的。有没有办法做到这一点?
答案 0 :(得分:0)
以下应该这样做
Puppet::Functions.create_function(:foo) do
dispatch :foo do
param 'String', :param_1
optional_param 'String', :param_2
optional_param 'String', :param_3
def foo(param_1, param_2='default_value', param_3='default_value')
puts "#{param_1} - #{param_2} - #{param_3}"
end
end
请点击此处查看示例https://github.com/puppetlabs/puppetlabs-stdlib/blob/master/lib/puppet/functions/to_json_pretty.rb