未使用点从另一个方法调用的方法的 Ruby 名称

标签 ruby

我正在使用 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/

相关文章:

ruby - 在 Ruby 中打包/解包 UUID

Ruby 在后台运行时无法读取 TCP 套接字

ruby - 如果 Bundler 在非标准路径中安装 gems,我如何访问这些 gems 以及它们附带的任何 bin 文件?

ruby - 负括号表达式中的点运算符

javascript - 压缩和解压 Stack Overflow 主页 HTML

ruby - 从 Ruby 范围中获取单个元素

ruby - 如何在 Ruby 中修复这个多行正则表达式?

ruby-on-rails - 获取渲染以识别自定义路由路径

ruby - ruby 中 object.attr == x 的快捷方式?

ruby-on-rails - 即使是搜索结果,我也可以从YouTube API3.0获取视频的时长吗?