내가 통과하려고 테스트입니다루비 설정 기본 해시 값
class Play < ActiveRecord::Base
before_save { self.word = word.downcase }
validates :word, presence: true, length: { maximum: 7 }
def letter_scores
{"A"=>1, "B"=>3, "C"=>3, "D"=>2, "E"=>1, "F"=>4, "G"=>2, "H"=>4, "I"=>1, "J"=>8,
"K"=>5, "L"=>1, "M"=>3, "N"=>1, "O"=>1, "P"=>3, "Q"=>10, "R"=>1, "S"=>1, "T"=>1,
"U"=>1, "V"=>4, "W"=>4, "X"=>8, "Y"=>4, "Z"=>10}
end
def score(word_multiplier: :single)
word_multiplier = {:single => 1, :double => 2, :triple => 3}
word.upcase.chars.inject(0){|sum, letter| sum + letter_scores[letter]} * word_multiplier
end
end
그래서 내 생각은 내가 기본값을 필요로한다는 것입니다 hash해라 : single. word_multiplier => : double의 키/값 쌍이 전달 된 경우 2를 반환하는 해시가 필요합니다.
문법 문제가 있습니다. 1) = 기호를 사용하는 메소드에서만 기본값을 설정했습니다. 해시가 아닙니다. 어떻게하면됩니까?
2) 괄호 안에 word_multiplier : : single을 넣습니다. 기본값은 기본값으로 설정됩니다. 그러나 : word_multiplier => : 싱글은 작동하지 않습니다. 무슨 일 이니?