簡體   English   中英

增加紅寶石變量的錯誤

[英]error in increase a variable in ruby

我已經編寫了這段代碼來增加實例變量,但是它不起作用並說:

nil:NilClass的未定義方法`+'(NoMethodError)

class Ali
  @var1 = 2
  def initialize
  end

  def getvar1
    @var1 = @var1 + 2
    return @var1
  end
end
ali = Ali.new
puts ali.getvar1()

將您的初始值@var1 = 2放在初始化程序中。 那就是初始化器的作用!

您可以執行以下操作來實現所需的功能

class Ali
  def initialize
    @var1 = 2
  end

  def getvar1
    @var1 = @var1 + 2
  end
end

ali = Ali.new
ali.getvar1
=> 4
ali.getvar1
=> 6

請注意,在ruby中,@ @var是一個實例變量,只能通過實例進行訪問。 @@var是一個類變量,可以在類中的任何位置進行訪問。

還有一點,方法的最后一條語句是默認返回值。 僅當最后一條語句不是您要用作返回值的值時,才使用顯式return

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM