我正在使用TDD(測試驅動開發)學習Ruby。在Rspec
代碼,我經常看到:不使用dot從另一個方法調用的方法的Ruby名稱
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中,這個語法的名字是什麼?
這就是所謂的*詩歌模式* – DigitalRoss
@DigitalRoss哇感謝'詩mode'。 –
是的,@sawa應該更新他的答案,注意它被稱爲*詩歌模式。*它用於DSL代碼很多。你不能在詩歌模式中直接進行方法鏈接,所以我爲了好玩而做的事情就是這樣的:而不是,比如說'IO.readlines(f).map {whatever}'我改寫'(IO.readlines f) .map {whatever}'。如果你這樣做,你的團隊成員可能會抱怨你的風格。 – DigitalRoss