Up until my attempt to answer this question I had always assumed arguments were evaluated from left to right the way we type them. For example we have some method:
def foo(a,b,c)
Is there a way to monitor variable definitions and values in a Ruby program as time passes? If you call foo 0,1,2
how can you prove that variables assigned in the following order?
time 0: a = 0
time 1: b = 1
time 2: c = 2
I realize my example is trivial because I have the same type of argument for a, b, c
but it potentially gets muddied up when you introduce default arguments, keyword arguments, and array arguments. If no one knows the answer I would appreciate suggestions on how to determine the answer.
Basically the Ruby equivalent of this.