【发布时间】:2014-02-21 06:53:27
【问题描述】:
我是 Ruby 新手,我正在尝试在 ruby 中声明一个简单的变量,它可以存储 int 类型值。
我尝试了以下代码
var=5
puts var
和
@var=5
puts @var
两个程序的输出都是5,谁能解释一下这两种代码的区别。
【问题讨论】:
标签: ruby-on-rails ruby
我是 Ruby 新手,我正在尝试在 ruby 中声明一个简单的变量,它可以存储 int 类型值。
我尝试了以下代码
var=5
puts var
和
@var=5
puts @var
两个程序的输出都是5,谁能解释一下这两种代码的区别。
【问题讨论】:
标签: ruby-on-rails ruby
您在谈论 ruby 语言中的变量类型。
var = 5 is local variable
和
@var = 5 is instance variable
局部变量和实例变量的主要区别在于局部变量只在控制器中可用,而实例变量在相应的视图中也可用。控制器和视图不共享局部变量。
更多详情请查看以下链接:
【讨论】:
var 是局部变量,@var 是实例变量
局部变量和实例变量的主要区别如下
【讨论】:
@var 是一个实例变量,通常在类中使用。
【讨论】:
var = 5 是局部变量,只能从其块内访问。
@var = 5 是实例变量,实例变量属于对象本身。
【讨论】: