【发布时间】:2016-03-15 01:24:05
【问题描述】:
我正在尝试一个愚蠢的示例来了解发送到一个方法的多个 proc。然而,令我惊讶的一件事是执行顺序。我查看了 Proc 文档,但并没有真正找到解释(可能是我看的不够仔细)。
这是一个例子:
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。感谢任何帮助或投入。
:) -
我可能在想编译器正在将“