在处理Head First Ruby时:undefined 方法 '/' for nil:NilClass (NoMethodError)



我一直在研究Jay McGavren的Head First Ruby。我试图直接从书中运行一段代码,该代码应该给出以下输出:

Name: Jane Doe
Pay This Week: $1917.18

代码为:

class Employee
  attr_reader :name
  def name=(name)
    # Code to validate and set @name
  end
  def print_name
    puts "Name: #{name}"
  end
end
class SalariedEmployee < Employee
  attr_reader :salary
  def salary=(salary)
    # Code to validate and set @salary
  end
  def print_pay_stub
    print_name
    pay_for_period = (salary / 365.0) * 14
    formatted_pay = format("$%.2f", pay_for_period)
    puts "Pay This Period: #{formatted_pay}"
  end
end
salaried_employee = SalariedEmployee.new
salaried_employee.name = "Jane Doe"
salaried_employee.salary = 50000
salaried_employee.print_pay_stub

但它似乎不起作用。我得到这个错误:

in `print_pay_stub': undefined method `/' for nil:NilClass (NoMethodError)

有人能启发我吗?

您应该编写逻辑来设置@salary变量:

def salary=(salary)
  @salary = salary
end

相关内容

最新更新