1

在一个项目上工作并且失去了开始......这是来自规范的描述:

describe Temperature do
describe "can be constructed with an options hash" do
describe "in degrees fahrenheit" do
  it "at 50 degrees" do
    Temperature.new(:f => 50).in_fahrenheit.should == 50
  end

坚持了一段时间,我认为我的问题与获取论点有关,但无法弄清楚如何。我的代码引入了结果“nil”而不是 50。

 class Temperature
    attr_accessor :f

 def in_fahrenheit
 @f
 end


 end
4

1 回答 1

2

实际上,您没有在:f任何地方为访问器设置值。您应该为此定义自己的构造函数:

class Temperature

  def initialize(args)
    self.f = args[:f]
  end

  attr_accessor :f
  def in_fahrenheit
    f
  end
end


t = Temperature.new(:f => 50)

t.f # => 50
t.in_fahrenheit # => 50
于 2013-02-12T01:58:15.193 回答