1
例如,我想向類String
添加新方法。但我不想讓這種變化成爲全球性的(保持班級清潔是好的,是的?)。向模塊內的標準類添加方法
因此,而不是這個代碼
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
)。那麼,我想要什麼?如果有的話,實現它的最好方法是什麼?
細化似乎是事情。謝謝。 –