What's the Ruby way of achieving pass-by-reference for numbers, as in
the C code
void foo (int* x)
{
}
···
--
Posted via http://www.ruby-forum.com/.
What's the Ruby way of achieving pass-by-reference for numbers, as in
the C code
void foo (int* x)
{
}
--
Posted via http://www.ruby-forum.com/.
What's the Ruby way of achieving pass-by-reference for numbers, as in
the C code
Array can do it.
def f(a)
a[0] = 10
end
a = [1]
f(a)
a[0] == 10 or raise
puts "ok"
From: Eric Christensen <ericrchr@gmail.com>
Subject: How to pass numeric variables by reference?
Date: Fri, 9 Dec 2005 13:23:36 +0900
--
rubikitch
probably assign on callback. In other words, Ruby doesn't have
a direct pass-by-reference operation for numbers,
but you can easily achieve the same result.
using irb:
10 :> def foo(c,d)
return c+1, d+2
end
==> nil
13 :> a,b = 5,6
==> [5, 6]
14 :> puts a,b
5
6
==> nil
15 :> a,b = foo(a,b)
==> [6, 8]
16 :> puts a,b
6
8
Eric Christensen wrote:
What's the Ruby way of achieving pass-by-reference for numbers, as in the C code
void foo (int* x)
{}