tn-soccerball
@tn-soccerball

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

ruby 継承の引数について

class Character
  attr_accessor :type, :hp, :power

  def initialize(type, hp, power)
    self.type = type
    self.hp = hp
    self.power = power
  end

  def name
    self.type
  end

  def attack(character)
    puts "#{self.name}が#{character.name}を攻撃して#{self.power}ポイントのダメージを与えた!"
  end
end

class Slime < Character
  attr_accessor :suffix

  def initialize(suffix)
    super('スライム', 10, 3)
    self.suffix = suffix
  end

  def name
    super + self.suffix
  end
end

class Hero < Character
  def initialize
    super('主人公', 1000, 30)
  end
end

hero = Hero.new
slime_A = Slime.new('A')

slime_A.attack(hero)
hero.attack(slime_A)

質問
Characterクラスのattackメソッドの引数は(character)で下から2行目のslime_A.attack(hero)の引数は(hero)と異なっているのですがこのように異なっている引数名でも問題ないのでしょうか?

0

1Answer

Comments

  1. @tn-soccerball

    Questioner

    コメントありがとうございます。
    もう一つだけ、「メソッドの戻り値をターミナルに表示」するには
    puts メソッド名  をメソッドの外で記述すれば良いのでしょうか?
  2. はい、それで良いと思います!

Your answer might help someone💌