104359176 发表于 2015-09-20 10:37

Ruby 的问题

Ruby 太过简洁了

1. 变量赋值

在 while , for 等代码块中,赋值并不能保证建立一个新的变量,而且变量名称也不是局部的。
在代码块执行完后,变量的值依旧保留。

因为 Ruby 的赋值,会首先检查它的上层调用栈中是否存在同名的变量,如果存在,就会对那个
变量进行赋值。除非用:local_var = 10

for x in {
|local_var|
local_var = 1
}所以使用 Ruby 的小心了,在代码块中,变量的名称最好不要与全局变量或者什么变量相同,否则就容易出问题。

2, 代码检查

哈希赋值的变量会被认为是没有使用:key, value =
hash = value
使用 ruby -w 的方式检查代码,会给出一个警告,说 value 定义后,未被使用。

3. 未定义变量会默默的赋值为nil

如果在代码中突然出现一个变量名称在值中,那么ruby 会默默的给他赋值为 nil。所以当你拼错变量名称的时候,系统并不会给你提示,即使是用 -w 的形式检查代码。
页: [1]
查看完整版本: Ruby 的问题