python和ruby变量作用域对比
2013-07-26 15:00
316 查看
python:
打印出来是9和0
打印出来是0和0
python调用f函数,执行print a的时候,会先在函数的作用域里查找是否有a这个变量,没有找到再到全局的作用域查找a这个变量。
ruby:
打印出来是9和0
会报错
undefined local variable or method `a' for main:Object(NameError)
ruby解释器是逐行执行代码,遇到module,class和定义函数的地方会改变作用域,代码只能访问本作用域下面的变量。
详细介绍看 /content/2929154.html
a = 0 def f(): a = 9 print a f() print a
打印出来是9和0
a = 0 def f(): print a f() print a
打印出来是0和0
python调用f函数,执行print a的时候,会先在函数的作用域里查找是否有a这个变量,没有找到再到全局的作用域查找a这个变量。
ruby:
a = 0 def f() a = 9 puts a end f() puts a
打印出来是9和0
a = 0 def f() puts a end f() puts a
会报错
undefined local variable or method `a' for main:Object(NameError)
ruby解释器是逐行执行代码,遇到module,class和定义函数的地方会改变作用域,代码只能访问本作用域下面的变量。
详细介绍看 /content/2929154.html
相关文章推荐
- Ruby对比java,c++变量作用域问题
- Python 变量作用域
- Python中变量的作用域
- [Python]变量作用域问题UnboundLocalError
- 解析Python中的变量、引用、拷贝和作用域的问题
- Ruby 标识名和变量作用域
- python变量作用域
- python 变量作用域
- python 变量作用域实例
- python学习7--变量的作用域
- python——变量作用域及嵌套作用域
- python 函数 本地变量 函数的命名空间 变量的作用域
- Ruby随手一记.变量作用域
- python 变量作用域
- Python学习之变量的作用域
- 从局部变量和全局变量开始全面解析Python中变量的作用域
- Python和Ruby的对比,纠正一些误解
- Python和Ruby对比
- Python变量的作用域
- python 学习笔记-变量作用域