該規範:RSpec的:未定義方法 '最大' 4:Fixnum對象
# spec/row_spec.rb
require "spec_helper"
module Mastermind
describe Row do
context "#initialize" do
it "has four elements by default" do
row = Row.new
expect(row.values.size).to eq 4
end
it "can only go up to 6" do
row = Row.new
expect(row.values.max).to be <= 6
end
end
end
end
的代碼:
# lib/mastermind/row.rb
module Mastermind
class Row
attr_accessor :values
def initialize (values=random_row)
@values = values
end
def random_row
4.times {random||=[] << rand(1..6)}
end
end
end
行被認爲是用於策劃者遊戲的行,與4個隨機值在1和6之間,並且此測試應確保其正常工作。它看起來像值返回一個int而不是一個數組。爲什麼?
我該如何解決這個問題?我試圖通過附加
row = Row.new
puts row.values
我row.rb做一些簡單的,看看到底是什麼與價值觀發生,但我只是得到一個未初始化的恆定誤差。爲什麼這不起作用?
或者它可以只是:'(1..6).to_a.sample(4)' – Surya 2014-10-29 20:13:49