2011-11-19 30 views

回答

5

看看这里http://deveiate.org/projects/Linguistics/wiki/English,并检查了这question

如果你需要,例如简单的东西,东西会前面加上“一”,如果一个单词以元音开头,你可以用我的一个班轮:

String.class_eval { def prepend; %w(a e i o u).include?(downcase.first) ? "an #{self}" : "a #{self}"; end } 

在应用程序的文件夹config/initializers将这个文件中的prepend.rb

然后,你将能够使用

"carrot".prepend => "a carrot" 
"apple".prepend => "an apple" 
+2

我喜欢它。我会虚心地建议使用a_or_an作为名称。 prepend是非常通用的,但也许太多了。 carrot.a_or_an对于随便的代码阅读器来说是非常清楚的:)如果我们在谈论别人的事情,比如'This'或somethings肯定,但是现在KISS :) –

+0

非常感谢:) – shime

+0

伟大的解决方案!不过,我把我的函数叫做“with_article”。干杯! – vanboom

相关问题