所以我有一个关于扩展常见 Ruby 数据类型功能的最佳实践的问题。
因此,Rails 当然有一个很好的方法pluralize
,它接受一个字符串并将其复数。我特别感兴趣的是你可以打电话
"square".pluralize
并收到
=> "squares"
作为回报。我想做的是类似的事情——除了哈希。为了这个问题,假设我有一个方法pluralize_each
可以将每个key
和value
的散列复数。
def pluralize_each hash
hash.each {|key,value| puts key.pluralize + "=>" + value.pluralize }
end
我怎样才能操纵这个方法,以便我可以只在一个哈希上调用它?例如,我希望能够调用
{"cat" => "dog"}.pluralize_each
#=> {"cats" => "dogs"}
(让我们忘记这个特殊的方法现在还不能完全发挥作用,有嵌套的哈希等。)
除了扩展 Hash 类之外,还有什么方法可以做到这一点?我想会有办法的。