【问题标题】:Integer variable declaration in ruby [duplicate]ruby中的整数变量声明[重复]
【发布时间】:2014-02-21 06:53:27
【问题描述】:

我是 Ruby 新手,我正在尝试在 ruby​​ 中声明一个简单的变量,它可以存储 int 类型值。

我尝试了以下代码

var=5
puts var

@var=5
puts @var

两个程序的输出都是5,谁能解释一下这两种代码的区别。

【问题讨论】:

标签: ruby-on-rails ruby


【解决方案1】:

您在谈论 ruby​​ 语言中的变量类型。

var = 5 is local variable

@var  = 5 is instance variable 

局部变量和实例变量的主要区别在于局部变量只在控制器中可用,而实例变量在相应的视图中也可用。控制器和视图不共享局部变量。

更多详情请查看以下链接:

Ruby Programming/Syntax/Variables and Constants

Variables in Ruby

【讨论】:

    【解决方案2】:

    var 是局部变量,@var 是实例变量

    局部变量和实例变量的主要区别如下

    1. 局部变量有其范围限制,即不能用于其他方法,而实例可用于其他方法
    2. 本地和实例变量也可以在视图中使用
    3. 每个对象的实例变量都是独立的

    【讨论】:

      【解决方案3】:

      @var 是一个实例变量,通常在类中使用。

      【讨论】:

        【解决方案4】:

        var = 5 是局部变量,只能从其块内访问。

        @var = 5 是实例变量,实例变量属于对象本身。

        【讨论】:

          猜你喜欢
          • 2016-01-20
          • 2017-04-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-01-15
          • 1970-01-01
          • 2018-10-02
          • 1970-01-01
          相关资源
          最近更新 更多