這工作,但看起來有點醜:如何將Ruby中的符號複數化(在Rails上)?
s = :shop
s.to_s.pluralize.to_sym # => :shops
是否有變複數一個Symbol
一個更好的辦法嗎?
這工作,但看起來有點醜:如何將Ruby中的符號複數化(在Rails上)?
s = :shop
s.to_s.pluralize.to_sym # => :shops
是否有變複數一個Symbol
一個更好的辦法嗎?
您可以複數String
,代表實際文本。 Symbol
s更抽象。
因此,根據定義,沒有。但是,也許你可以打開符號類的定義,並添加:
class Symbol
def pluralize
to_s.pluralize.to_sym
end
end
然後,你可以致電:
:shop.pluralize # => :shops
不,就是這樣。
如果你舒適的改變Ruby的類,那麼這個工程:
class Symbol
def pluralize
self.to_s.pluralize.to_sym
end
end
我還沒有找到一個更好的解決方案,但我想,如果有,它很可能只是實現類似的Rails到我上面的東西。
沒有,因爲符號並不意味着要改變(它們是不可變的)。 – mpd 2010-12-13 01:16:21