0

當我運行下面的代碼時,出現一個讀取「fig_match:rb:5:in'的錯誤:未初始化的常量Match :: Fig(NameError)from fig_match.rb:4:in」未初始化常量錯誤

我正在測試我的設置和戰鬥方法,這就是爲什麼我在Match類中的變量設置器之後進行設置和匹配調用的原因。

require_relative = 'fig_user.rb' #class name is Fig within fig_user.rb 

class Match 
    fig1 = Fig.new 
    fig2 = Fig.new 
    go = 0 
    winner = nil 

    setup(Bob, Sam) 
    match.battle 

    def setup(name1, name2) 
    #set names 
    @name1 = fig1.name 
    @name2 = fig2.name 

    go = rand(2) 
    end 


    def battle 
     if go.even? 
     p fig1.name 

     end 
    end 

這是在上面的代碼(如果不知道它的事項)所引用的單獨的類

class Fig 

attr_reader :name, :power, :health 
attr_accessor :name, :power, :health 

deckId = @id 
name = @name 
power = @power 
moves = Hash["Kick", 50, "Punch", 30] 
health = 100 
end 

回答

2

require_relative是一種方法。您已將其指定爲變量名稱。因此,你的範圍內沒有Fig類。

+1

謝謝,我只是試圖改變require_relative的位置。我的範圍會在哪裏? (新的紅寶石和編程) – Dru

+0

+1,'require_relative ='fig_user.rb''應該'require_relative'fig_user.rb'' –

+0

謝謝,我得到新的錯誤哈哈。所以它工作。 – Dru