快问题
如何测试一个单词,看看它是单数还是复数?
我真的很喜欢:
- 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