快问题
如何测试一个单词,看看它是单数还是复数?
我真的很喜欢:
test_singularity('word') # => true test_singularity('words') # => false
我敢打铁路是有能力的!
谢谢.
解决方法
在rails中,您可以执行一个字符串#singularize | #pluralize比较来返回一个true或false值.
但是,由于语言本身的本质,我认为这可能需要一些备份才能完全准确.
你可以这样做
def test_singularity(str) str.pluralize != str && str.singularize == str end
但是看到如何准确,我跑了一套快速的话.
%w(word words rail rails dress dresses).each do |v| puts "#{v} : #{test_singularity(v)}" end word : true words : false rail : true rails : false dress : false dresses : false
实际上我感到有点吃惊,因为“礼服”确实得到了正确的复数,但是当它经过#singularize时,它就会陷入一个障碍.
'dress'.pluralize # => dresses 'dress'.singularize # => dres