String
たとえば、新しいメソッドを class に追加したいとします。しかし、私はこの変更をグローバルにしたくありません (クラスをきれいに保つことは良いことですよね?)。
したがって、このコードの代わりに
class String
def is_palindrome?
self == self.reverse
end
end
module MyModule
class MyClass
def filter_palindrome(str_arr)
str_arr.select { |s| s.is_palindrome? }
end
end
end
私はこのようなものが欲しい:
module MyModule
class String
def is_palindrome?
self == self.reverse
end
end
class MyClass
def self.filter_palindrome(str_arr)
str_arr.select { |s| s.is_palindrome? }
end
end
end
しかし、もちろん、うまくいきません ( undefined method 'is_palindrome?' for :String
)。それで、私が欲しいものに何か意味がありますか?もしそうなら、それを達成するための最良の方法は何ですか?