我一直试图弄清楚如何满足我正在做的教程的一些条件。
我有以下测试规范可供使用:
describe "String" do
describe "camel_case" do
it "leaves first word lowercase" do
"test".camel_case.should eq("test")
end
it "should lowercase first letter if it isn't" do
"Test".camel_case.should eq("test")
end
it "should combine words using camel case" do
"This is a test".camel_case.should eq("thisIsATest")
end
it "should downcase words with capitals" do
"MUST dOWNCASE words".camel_case.should eq("mustDowncaseWords")
end
end
end
我已经设法使用下面的代码获得前两个条件,但是我尝试了一些不同的东西来获得加入和向下转换大写条件,但没有成功。
class String
def camel_case
self.downcase
end
end
我一直在想使用.split然后使用.join方法可行,但事实并非如此。
答案 0 :(得分:1)
问题是你实际上没有做任何骆驼。你的camel_case
方法所做的唯一事情就是使这个短语的所有字母......呃......顺着。
之后split
和join
是正确的事情。
class String
def camel_case
downcased = self.downcase # here you only downcased your input
array_of_words = downcased.split
# now you should make the first letter of each word upper-cased
# ...
words_with_first_letter_capitalized.join
end
end
答案 1 :(得分:1)
而不是使用camelize或camelcase。