Ruby:NoMethodError

iswg
class Member
  def initialize(name,score)
    @name = name.capitalize
    @score = score
  end

  def to_s
    "Hello, my name is #{@name} and my score is #{@score}. Make sure to give me a good rating!"
  end
end

class Contest
  def initialize(title)
    @title = title
    @members = [] 
  end

  def join(user)
    @members << user
  end

  def rate_up
    puts "#{@name} just got a rating!"
    @score += rand(5)
    puts "Now my score is #{@score}. WHEEEEEEEE"
  end

  def rate_down
    puts "#{@name} just got a rating!"
    @score -= rand(5)
    puts "Now my score is #{@score}.....WTF"
  end

  def standing
    if @score >= 15
      puts "I got #{@score}! People love me!"
    elsif @score < 15
      puts "How did I only get #{@score}? WTF? Yall must be blind."
    end
  end

  def begin
    puts "#{@title} is about to begin! There are #{@members.size} participants this year!"
    @members.each do |person|
      person
    end
    @members.each do |person|
      person.rate_up
      person.rate_down
    end
    @members.each do |person|  
      person.standing
    end
  end
end

member1 = Member.new("jh", 6)
member2 = Member.new("is", 8)
member3 = Member.new("sw", 8)
member4 = Member.new("yh", 7)
member5 = Member.new("ws", 6)
member6 = Member.new("sm", 5)

contest1 = Contest.new("BestOfSIS")

contest1.join(member1)
contest1.join(member2)
contest1.join(member3)
contest1.join(member4)
contest1.join(member5)
contest1.join(member6)

contest1.begin

当我在终端中运行此命令时,我不断收到以下错误:

BestOfSIS is about to begin! There are 6 participants this year!
2.rb:48:in `block in begin': undefined method `rate_up' for #<Member:0x007fa04b8340f8 @name="Jh", @score=6> (NoMethodError)
    from 2.rb:47:in `each'
    from 2.rb:47:in `begin'
    from 2.rb:73:in `<main>'

所以我想方法'rate_up'出了点问题,但我不知道是什么。

另一个问题:我可以在类“ Member”(而不是类“ Contest”)下初始化“ @members”数组并定义“ join”方法吗?

提前致谢!

拉贾西·达斯(Rajarshi Das)

您的会员等级应为

 class Member
  def initialize(name,score)
    @name = name.capitalize
    @score = score
  end

  def to_s
    "Hello, my name is #{@name} and my score is #{@score}. Make sure to give me a good rating!"
  end

 def rate_up
    puts "#{@name} just got a rating!"
    @score += rand(5)
    puts "Now my score is #{@score}. WHEEEEEEEE"
  end

  def rate_down
    puts "#{@name} just got a rating!"
    @score -= rand(5)
    puts "Now my score is #{@score}.....WTF"
  end

  def standing
    if @score >= 15
      puts "I got #{@score}! People love me!"
    elsif @score < 15
      puts "How did I only get #{@score}? WTF? Yall must be blind."
    end
  end   
end

而您的比赛班级应为

class Contest
  def initialize(title)
    @title = title
    @members = [] 
  end

  def join(user)
    @members << user
  end

def begin
    puts "#{@title} is about to begin! There are #{@members.size} participants this year!"
    @members.each do |person|
      person
    end
    @members.each do |person|
      person.rate_up
      person.rate_down
    end
    @members.each do |person|  
      person.standing
    end
  end
end

现在

member1 = Member.new("jh", 6)
member2 = Member.new("is", 8)
member3 = Member.new("sw", 8)
member4 = Member.new("yh", 7)
member5 = Member.new("ws", 6)
member6 = Member.new("sm", 5)

contest1 = Contest.new("BestOfSIS")

contest1.join(member1)
contest1.join(member2)
contest1.join(member3)
contest1.join(member4)
contest1.join(member5)
contest1.join(member6)

contest1.begin

它正在输出

irb(main):127:0> member1 = Member.new("jh", 6)
=> #<Member:0x007f78f175e5d8 @name="Jh", @score=6>
irb(main):128:0> member2 = Member.new("is", 8)
=> #<Member:0x007f78f17428d8 @name="Is", @score=8>
irb(main):129:0> member3 = Member.new("sw", 8)
=> #<Member:0x007f78f1729090 @name="Sw", @score=8>
irb(main):130:0> member4 = Member.new("yh", 7)
=> #<Member:0x007f78f1706f68 @name="Yh", @score=7>
irb(main):131:0> member5 = Member.new("ws", 6)
=> #<Member:0x007f78f16dd078 @name="Ws", @score=6>
irb(main):132:0> member6 = Member.new("sm", 5)
=> #<Member:0x007f78f16b7710 @name="Sm", @score=5>
irb(main):133:0> 
irb(main):134:0* contest1 = Contest.new("BestOfSIS")
=> #<Contest:0x007f78f16967b8 @title="BestOfSIS", @members=[]>
irb(main):135:0> 
irb(main):136:0* contest1.join(member1)
=> [#<Member:0x007f78f175e5d8 @name="Jh", @score=6>]
irb(main):137:0> contest1.join(member2)
=> [#<Member:0x007f78f175e5d8 @name="Jh", @score=6>, #<Member:0x007f78f17428d8 @name="Is", @score=8>]
irb(main):138:0> contest1.join(member3)
=> [#<Member:0x007f78f175e5d8 @name="Jh", @score=6>, #<Member:0x007f78f17428d8 @name="Is", @score=8>, #<Member:0x007f78f1729090 @name="Sw", @score=8>]
irb(main):139:0> contest1.join(member4)
=> [#<Member:0x007f78f175e5d8 @name="Jh", @score=6>, #<Member:0x007f78f17428d8 @name="Is", @score=8>, #<Member:0x007f78f1729090 @name="Sw", @score=8>, #<Member:0x007f78f1706f68 @name="Yh", @score=7>]
irb(main):140:0> contest1.join(member5)
=> [#<Member:0x007f78f175e5d8 @name="Jh", @score=6>, #<Member:0x007f78f17428d8 @name="Is", @score=8>, #<Member:0x007f78f1729090 @name="Sw", @score=8>, #<Member:0x007f78f1706f68 @name="Yh", @score=7>, #<Member:0x007f78f16dd078 @name="Ws", @score=6>]
irb(main):141:0> contest1.join(member6)
=> [#<Member:0x007f78f175e5d8 @name="Jh", @score=6>, #<Member:0x007f78f17428d8 @name="Is", @score=8>, #<Member:0x007f78f1729090 @name="Sw", @score=8>, #<Member:0x007f78f1706f68 @name="Yh", @score=7>, #<Member:0x007f78f16dd078 @name="Ws", @score=6>, #<Member:0x007f78f16b7710 @name="Sm", @score=5>]
irb(main):142:0> 
irb(main):143:0* contest1.begin
BestOfSIS is about to begin! There are 6 participants this year!
Jh just got a rating!
Now my score is 10. WHEEEEEEEE
Jh just got a rating!
Now my score is 9.....WTF
Is just got a rating!
Now my score is 12. WHEEEEEEEE
Is just got a rating!
Now my score is 9.....WTF
Sw just got a rating!
Now my score is 11. WHEEEEEEEE
Sw just got a rating!
Now my score is 7.....WTF
Yh just got a rating!
Now my score is 10. WHEEEEEEEE
Yh just got a rating!
Now my score is 6.....WTF
Ws just got a rating!
Now my score is 10. WHEEEEEEEE
Ws just got a rating!
Now my score is 9.....WTF
Sm just got a rating!
Now my score is 9. WHEEEEEEEE
Sm just got a rating!
Now my score is 6.....WTF
How did I only get 9? WTF? Yall must be blind.
How did I only get 9? WTF? Yall must be blind.
How did I only get 7? WTF? Yall must be blind.
How did I only get 6? WTF? Yall must be blind.
How did I only get 9? WTF? Yall must be blind.
How did I only get 6? WTF? Yall must be blind.
=> [#<Member:0x007f78f175e5d8 @name="Jh", @score=9>, #<Member:0x007f78f17428d8 @name="Is", @score=9>, #<Member:0x007f78f1729090 @name="Sw", @score=7>, #<Member:0x007f78f1706f68 @name="Yh", @score=6>, #<Member:0x007f78f16dd078 @name="Ws", @score=9>, #<Member:0x007f78f16b7710 @name="Sm", @score=6>]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

NoMethodError Ruby设置

来自分类Dev

ruby 模块中的 NoMethodError

来自分类Dev

NoMethodError尝试使用Ruby RestClient

来自分类Dev

Ruby NomethodError用于多维数组

来自分类Dev

Ruby on Rails的will_paginate-NoMethodError

来自分类Dev

Ruby的body_permitted?给出“ NoMethodError”的方法

来自分类Dev

Ruby on Rails:Category#new中的NoMethodError

来自分类Dev

在Ruby中定义模块内部的方法(NoMethodError)

来自分类Dev

NoMethodError Ruby在类上初始化

来自分类Dev

Ruby:NoMethodError,但是为什么呢?

来自分类Dev

Ruby on Rails模型中的'NoMethodError:undefined method'

来自分类Dev

为什么我在Ruby中收到NoMethodError?

来自分类Dev

Ruby on Rails的Nil测试-NoMethodError Nil:class

来自分类Dev

Ruby on Rails模型中的'NoMethodError:undefined method'

来自分类Dev

Ruby的body_permited?给出“ NoMethodError”的方法

来自分类Dev

为什么我在Ruby中收到NoMethodError?

来自分类Dev

ruby - NoMethodError:未定义的方法“状态”

来自分类Dev

面向nil:NilClass的Ruby未定义方法“ []”(NoMethodError)

来自分类Dev

在Ruby on Rails网站上实现Instagram Gem时出现NoMethodError

来自分类Dev

Ruby on Rails NoMethodError“未定义的方法'translates'”

来自分类Dev

Ruby on Rails教程5.11中Articles#edit中的NoMethodError

来自分类Dev

Ruby / calabash:2:Fixnum的未定义方法“ each”(NoMethodError)

来自分类Dev

Ruby on Rails Rspec NoMethodError:未定义的方法“ not_to”

来自分类Dev

在Ruby on Rails网站上实现Instagram Gem时出现NoMethodError

来自分类Dev

向Ruby类添加的方法在MiniTest中抛出NoMethodError

来自分类Dev

联系人中的nomethoderror#在ruby中建立新的contactform

来自分类Dev

未定义的方法“ +”,用于nil:NilClass(NoMethodError)-Ruby

来自分类Dev

Ruby:获取未定义的方法错误NoMethodError

来自分类Dev

Ruby:3212:Fixnum 的未定义方法“数字”(NoMethodError)

Related 相关文章

  1. 1

    NoMethodError Ruby设置

  2. 2

    ruby 模块中的 NoMethodError

  3. 3

    NoMethodError尝试使用Ruby RestClient

  4. 4

    Ruby NomethodError用于多维数组

  5. 5

    Ruby on Rails的will_paginate-NoMethodError

  6. 6

    Ruby的body_permitted?给出“ NoMethodError”的方法

  7. 7

    Ruby on Rails:Category#new中的NoMethodError

  8. 8

    在Ruby中定义模块内部的方法(NoMethodError)

  9. 9

    NoMethodError Ruby在类上初始化

  10. 10

    Ruby:NoMethodError,但是为什么呢?

  11. 11

    Ruby on Rails模型中的'NoMethodError:undefined method'

  12. 12

    为什么我在Ruby中收到NoMethodError?

  13. 13

    Ruby on Rails的Nil测试-NoMethodError Nil:class

  14. 14

    Ruby on Rails模型中的'NoMethodError:undefined method'

  15. 15

    Ruby的body_permited?给出“ NoMethodError”的方法

  16. 16

    为什么我在Ruby中收到NoMethodError?

  17. 17

    ruby - NoMethodError:未定义的方法“状态”

  18. 18

    面向nil:NilClass的Ruby未定义方法“ []”(NoMethodError)

  19. 19

    在Ruby on Rails网站上实现Instagram Gem时出现NoMethodError

  20. 20

    Ruby on Rails NoMethodError“未定义的方法'translates'”

  21. 21

    Ruby on Rails教程5.11中Articles#edit中的NoMethodError

  22. 22

    Ruby / calabash:2:Fixnum的未定义方法“ each”(NoMethodError)

  23. 23

    Ruby on Rails Rspec NoMethodError:未定义的方法“ not_to”

  24. 24

    在Ruby on Rails网站上实现Instagram Gem时出现NoMethodError

  25. 25

    向Ruby类添加的方法在MiniTest中抛出NoMethodError

  26. 26

    联系人中的nomethoderror#在ruby中建立新的contactform

  27. 27

    未定义的方法“ +”,用于nil:NilClass(NoMethodError)-Ruby

  28. 28

    Ruby:获取未定义的方法错误NoMethodError

  29. 29

    Ruby:3212:Fixnum 的未定义方法“数字”(NoMethodError)

热门标签

归档