Ruby:从方法调用类实例时遇到麻烦

梦dream以求的

我显然是Ruby的新手,并且对一般程序设计不熟悉,非常感谢您的帮助。

这是我的代码段:

class Player
    attr_accessor :name, :hp

    def initialize(name, hp)
        @name = name
        @hp = hp
    end

    def name
        @name
    end

    def hp
        @hp
    end
end

def prompt
    print "> "
end

prompt; pname = gets.chomp
player = Player.new(pname, rand(20..30))

puts "#{player.name} \:\: #{player.hp} HP"

def test
    puts "#{player.name} \:\: #{player.hp} HP - IN METHOD"
end

test

运行时,结果如下:

$ ruby​​ wtf.rb

> Test Name

Test Name :: 20 HP

wtf.rb:24:in `test': undefined local variable or method `player' for main:Object (NameError) from wtf.rb:27:in `<main>'

为什么我的呼叫在第一种情况下起作用,但在第二种情况下却不起作用?是否因为它现在正在“测试”方法中寻找新的“玩家”变量?如果是这样,我该如何从先前创建的类实例中调用一个?

谢谢!

戴维·韦瑟
def test
  puts "#{player.name} \:\: #{player.hp} HP - IN METHOD"
end

您忘记了传递player方法:

def test(player)
  puts "#{player.name} \:\: #{player.hp} HP - IN METHOD"
end

test(player) # => player = Player.new(pname, rand(20..30)) :: 22 HP - IN METHOD

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用类在数据框对象上调用实例时遇到麻烦

来自分类Dev

我在调用替代类方法内属于某些类的方法时遇到麻烦

来自分类Dev

从另一个类调用方法时遇到麻烦

来自分类Dev

调用Objective-C方法时遇到麻烦

来自分类Dev

编写方法时遇到麻烦

来自分类Dev

Ruby:无法从方法调用类实例

来自分类Dev

创建C ++类时遇到if / else麻烦

来自分类Dev

在访问类的静态成员时遇到麻烦

来自分类Dev

C ++从另一个类的主函数调用静态函数时遇到麻烦

来自分类Dev

从另一个方法内部调用一个方法时遇到麻烦

来自分类Dev

跟踪Java的递归方法时遇到麻烦

来自分类Dev

在主调用方法时遇到麻烦?简单的客户端/服务器

来自分类Dev

调用Objective C中的方法时遇到麻烦(Apple文档示例)

来自分类Dev

在从方法调用两个变量到主C ++时遇到麻烦

来自分类Dev

实例化对象并更改其层时遇到麻烦

来自分类Dev

Ruby:调用Singleton实例方法的DRY类方法

来自分类Dev

从另一个类Ruby调用实例方法

来自分类Dev

Ruby on Rails:在向博客添加描述时遇到麻烦

来自分类Dev

使用$ .ajax()与async时遇到麻烦:错误的调用rest服务

来自分类Dev

分页时遇到麻烦

来自分类Dev

在类中保留持久变量时遇到麻烦

来自分类Dev

C ++在实现模板化嵌套类时遇到麻烦

来自分类Dev

Python:在编写类代码时遇到麻烦

来自分类Dev

使用其他类的printwriter时遇到麻烦

来自分类Dev

Swift-从类追加数组时遇到麻烦

来自分类Dev

在Java中链接方法调用时遇到麻烦

来自分类Dev

使用 Switch 语句调用的 C# 方法 - 遇到麻烦

来自分类Dev

是您首次调用静态方法时自动创建的类的实例

来自分类Dev

当我实例化类时,方法会自行调用

Related 相关文章

热门标签

归档