加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在ruby中如何使用类级别的局部变量? (一个红宝石新手的问题)

发布时间:2020-12-16 20:51:32 所属栏目:百科 来源:网络整理
导读:所以假设我有这个(不工作): class User description = "I am User class variable" def print puts description endend 那么,我应该如何使用var描述,如何将其作为默认参数传递给方法,或者直接在方法中使用?谢谢.. 解决方法 在您的情况下,描述只是局部变量.
所以假设我有这个(不工作):
class User
   description = "I am User class variable"
   def print
       puts description
   end
end

那么,我应该如何使用var描述,如何将其作为默认参数传递给方法,或者直接在方法中使用?谢谢..

解决方法

在您的情况下,描述只是局部变量.您可以使用特殊字符@,@ @,$更改此范围:
a = 5
defined? a
=> "local-variable"

@a = 5
defined? @a
=> "instance-variable"

@@a = 5
defined? @@a
=> "class variable"

$a = 5
defined? $a
=> "global-variable"

为了您的目的,我认为可能是通过这种方式使用

class User
  def initialize(description)
    @description = description
  end

  def print
      puts @description
  end
end

obj = User.new("I am User")
obj.print
# => I am User

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读