2017-01-10 49 views
-1

简短问题:
什么是'translate'这个词在做什么以及它在我的IDE中被特别着色?什么是“翻译”关键字在Ruby中做什么

长的问题:
我做了奥丁项目和代码在04_pig_latin红宝石和RSpec锻炼应该是这样的:

def translate(string) 
    # some code 
end 

每规范,我需要通过:

describe "#translate" do 

    it "translates a word beginning with a vowel" do 
    s = translate("apple") 
    expect(s).to eq("appleay") 
    end 

end 

在我的Cloud9 IDE中,translate这个单词是蓝色的(如requirerender),所以我假定我不能将它用作方法名称,并且需要更改给定的RSpec测试以通过它。但是,我看到其他人在做这个任务时没有任何问题,将这个方法命名为translate

我还没有发现任何关于这个“关键字”的东西,可能会使它变得独一无二,我不知道它的真正作用,也不知道它的唯一性来自Ruby还是Cloud9。

Link to exercises repo

+2

您的IDE错了。 'translate'在Ruby中并不意味着什么特别。 –

+1

这是一个函数名称,这就是IDE语法 - 突出显示函数名称的方式。 –

+0

cloud9IDE编辑器通常不会在ruby文件中突出显示方法名称。所以这只是一个错误。你可以忽略它继续。 –

回答

2

每一个Ruby的语法高亮库通常包括在之类的东西Rails的使用习惯用语。例如,belongs_to虽然不是Ruby意义上的特殊关键字,但在Rails应用程序中非常常见,所以经常突出显示。

translate可能是一个特殊的短语,它也被很多I18N库所使用。

唯一可以肯定的方法是查看编辑器使用的语法高亮规则。通常在那里有一个特殊的方法名称列表。