【问题标题】:Chef - Local variables within ruby_blockChef - ruby​​_block 中的局部变量
【发布时间】:2017-06-30 03:27:07
【问题描述】:

第一次使用 chef/ruby

buildNumber = String.new

ruby_block 'test' do
  block do
    def parse_xml
      buildNumber = "123"
    end

    parse_xml do
    end

    print "buildNumber is: " +buildNumber
  end
  action :run
end

我希望print "buildNumber is: " +buildNumber 行打印出 123 而不是空白,我该如何实现呢?

【问题讨论】:

  • 这种缩进是故意的吗?
  • 有理由使用parse_xml do ... end吗?为什么不直接运行parse_xmlparse_xml 应该做什么?它试图设置一个不存在的变量 (buildNumber)。

标签: ruby chef-infra


【解决方案1】:

我把整个东西放在一个开始结束块中,如下所示,它起作用了。

buildNumber = String.new
    ruby_block 'test' do
      block do
      begin
    buildNumber = "123"
    end

    print "buildNumber is: " +buildNumber
      end
      action :run
    end

【讨论】:

    猜你喜欢
    • 2018-03-01
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-23
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多