Ruby 变量初始化

标签 ruby variables

在下面的代码中有一个执行路径在测试之前没有设置“bar”,这样做在Ruby中安全吗? “bar”会有默认初始化吗?

if foo
  bar = true
end

if bar
  puts "true"
end

最佳答案

,它是安全的,因为在引用未初始化的本地时可能发生的最坏情况是将引发 NameError 异常。

实际上,您的情况有点特殊。由于解析器在引用它之前会看到 bar,因此该方法不会引发 NameError,即使 foo 为 false,但 bar 的值将为 nil

关于Ruby 变量初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5111741/

相关文章:

ruby - RHEL6 上出现 'gem install sqlite3-ruby' 问题

ruby - 在 vim/macvim 中更改 $PATH 以便找到正确的 ruby​​ 二进制文件

javascript - 使用 javascript 在元素断言中引用变量

android - 退出应用程序后保存变量?

excel - 如何创建 ActiveX 控件 CommandButton 并将其设置为变量 Excel VBA

ruby-on-rails - Rails 设计omniauth : cannot keep facebook data in user session

ruby-on-rails - bundler /设置(LoadError)

c# - 什么是应用程序变量?我如何在 ASP.NET MVC 中声明应用程序变量?

ruby-on-rails - 运行 'pg gem' 时出现 'bundle install' 安装错误

链接到批处理文件的java变量