我对 Ruby 中的作用域如何工作感到有些困惑。哪些 Ruby 范围规则会阻止以下代码打印出 x 的值?
#!/usr/bin/ruby
x = 5
def test
puts "x = #{x}"
end
test # => undefined local variable or method `x' for main:Object
等效的 Python 脚本会打印 x 的值:
#!/usr/bin/python
x = 5
def test():
print "x = %s" % x
test() # => x = 5