什么是“translate”关键字在Ruby中做什么

时间:2017-01-10 20:30:06

标签: ruby rspec cloud9-ide translate

简短的问题:
什么是“翻译”一词,以及为什么它在我的IDE中被特别着色?

长问题:
我正在做Odin项目,04_pig_latin中的代码Ruby和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。

< / p>

Link to exercises repo

1 个答案:

答案 0 :(得分:2)

每个Ruby语法高亮库通常都包含Rails等常用短语。例如,belongs_to虽然不是Ruby意义上的特殊关键字,但在Rails应用程序中非常常见,因此它经常被突出显示。

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

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