我正在使用 TDD(测试驱动开发)学习 Ruby。在Rspec
代码中,我经常看到:
it "return the sum of two different arugments" do
calc = Calculator.new
expect(calc.add(1,2)).to eq(3)
end
通常,在其他语言中,最后一个命令通常写为 eq (expect(calc(1,2)), 3)
或 expect(calc.add(1, 2)).eq(3)
.
但在示例中,没有任何内容连接第一个短语 expect(calc.add(1,2))
和第二个短语 eq(3)
。
那么在Ruby中,这个语法的名称是什么?
最佳答案
只是参数两边的一对括号可以省略。
expect(calc.add(1, 2)).to eq(3)
是语法加糖形式的:
expect(calc.add(1, 2)).to(eq(3))
也就是说,eq(3)
是to
方法的参数。
根据@DigitalRoss 的说法,它似乎被称为诗歌模式。
关于未使用点从另一个方法调用的方法的 Ruby 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38509601/