私のコードは、これを除くすべてのテスト条件(配列、文字列、ハッシュなど)に合格しました:
ValidPalindromeTest.new(81,96).palindrome?
true を返す必要がありますが、そうではありません。コードは次のとおりです。
class String
def palindrome?
self.gsub(/\W/,"").downcase == self.gsub(/\W/,"").downcase.reverse
end
end
module Enumerable
def palindrome?
if self.is_a?(Hash)
false
else
self.to_a.join('').gsub(/\W/,"").downcase == self.to_a.join('').gsub(/\W/,"").downcase.reverse
end
end
end
しかし、私がに変更するとき
module Enumerable
def palindrome?
if self.is_a?(Hash)
false
else
self.to_a == self.to_a.reverse
end
end
できます。
問題は、 の型は何ValidPalindromeTest.new(81,96)
ですか? それは型のインスタンスであるべきValidPalindromeTest
ですよね?2番目のメソッドはどのようにパスauto_grader
できますか?最初のメソッドはパスできませんか? 私の考えでは、機能する限りself.to_a
、残り ( .join('').gsub(/\W/,"").downcase
) も機能するはずです。