我正在嘗試一個愚蠢的例子來理解發送到方法的多個過程。然而,令我感到驚訝的是執行的順序。我查看了Proc文檔,但沒有真正找到解釋(可能我沒有仔細觀察)。Ruby中多個過程的執行順序
下面是一個例子:
def my_block(a, b)
a.call b.call
end
a = Proc.new { puts "hello" }
b = Proc.new { puts " world" }
my_block a, b
輸出:
world
hello
給出多於一個上的行執行從左到右時這似乎是PROC執行。有人可以詳細解釋這種行爲嗎?
這實際上是非常有趣的。現在我正試圖研究爲什麼發生這種情況! – dane
謝謝@dane。欣賞任何幫助或投入。 ':'' –
我可能認爲編譯器將「<<」它們轉換爲一個數組,因爲它們位於同一行,然後b.call實際上是放在ontop上? @ jaypal嘆息 – dane