rspec
을 사용하여 테스트를 실행하는 데 문제가 있습니다. 내 book.rb
파일에서 코드 블록은 책 제목의 단어를 대문자로 사용하기 위해 제공된 모든 테스트를 통과시킵니다 ("mockingbird를 죽일", "inferno"). 나는 반복해서 내가 PARAMS을 변경하고 제목 방법을 제거하지만 아무것도 작동하지 않습니다 시도했습니다Rspec 테스트, ArgumentError : 잘못된 인수 수 (0에 대해 1)
"Failure/Error: @book.title.should == "Inferno"
ArgumentError:
wrong number of arguments (0 for 1)".
오류 메시지를 받고 있습니다 터미널에서 레이크를 실행할 때, 난 여전히 오류 메시지에도 불구하고 프로그램는 대문자로 제목이 있어야합니다. 고마워, 어떤 도움을 주셔서 감사합니다!
class Book
attr_accessor :title, :littlewords
def initialize
@littlewords = ["the", "a", "an", "and", "of", "in"]
end
def title
@title
end
def title(lit)
@title = ''
books = lit.split
books.each do |title|
title.capitalize! unless (littlewords.to_s).include?(title)
end
books[0] = books[0].upcase
books.first.capitalize!
books.join(' ')
end
end
s = Book.new
puts s.title("to kill a mockingbird")
puts s.title("inferno")
문제는 매개 변수를 취하는 두 번째'title' 메서드가 첫 번째'title' 메서드를 덮어 쓰는 것입니다. 나는 당신이'def title = (lit)'를 원한다고 생각하고's.title = "을 사용하여 mockingbird를 죽이게한다"'또한'attr_accessor'로 설정했기 때문에 첫 번째'title'은 필요하지 않습니다. –