What’s the Ruby way of achieving pass-by-reference for numbers, as in
the C code
void foo (int* x)
{
}
What’s the Ruby way of achieving pass-by-reference for numbers, as in
the C code
void foo (int* x)
{
}
From: Eric C. [email protected]
Subject: How to pass numeric variables by reference?
Date: Fri, 9 Dec 2005 13:23:36 +0900
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”
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
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs