我有一个变量,我设置了一个默认值,然后我执行了一个过程。问题是,我无法访问块内的变量,因为块有自己的变量范围并且无法访问外部。这是一个片段:
value = ""
cmd_errors = Array.new
# Call the command line
status = POpen4.popen4(cmd) do |stdout, stderr|
output = stdout.read
error = stderr.read
if (!output.empty?)
value = JSON.parse(output) #This just creates a block scoped variable called 'value' and my local variable is still empty
else
cmd_errors << error
end
end
是否可以允许块写入该局部变量?也许使用参考?