pete4
(pete)
26 March 2008 16:19
1
Hi-
This should be an easy one to answer...
Is it possible to return an array from a function?
Example (although a very bad one):
def test(val1,val2)
myarr = Array.new
myarr = [val1,val2]
return myarr
end
begin
thisarr = test(val1,val2)
end
You have the code. Why not run it? It will answer your question.
Chris
···
On Mar 26, 10:17 am, pete <peterbattag...@gmail.com> wrote:
Hi-
This should be an easy one to answer...
Is it possible to return an array from a function?
Example (although a very bad one):
def test(val1,val2)
myarr = Array.new
myarr = [val1,val2]
return myarr
end
begin
thisarr = test(val1,val2)
end
Hi --
Hi-
This should be an easy one to answer...
Is it possible to return an array from a function?
Yes. You can return any object.
irb is really good for answering questions like this:
irb(main):001:0> def return_array
irb(main):002:1> [1,2,3]
irb(main):003:1> end
=> nil
irb(main):004:0> return_array
=> [1, 2, 3]
def test(val1,val2)
myarr = Array.new
myarr = [val1,val2]
You're re-assigning to myarr, which means that the first value will be
discarded (unless it has another reference somewhere else (which it
doesn't in this case).
return myarr
end
You could rewrite the above as:
def test(val1, val2)
[val1, val2]
end
Just return what you want to return -- no need to dance around it
David
···
On Thu, 27 Mar 2008, pete wrote:
--
Rails training from David A. Black and Ruby Power and Light:
ADVANCING WITH RAILS April 14-17 New York City
INTRO TO RAILS June 9-12 Berlin
ADVANCING WITH RAILS June 16-19 Berlin
See http://www.rubypal.com for details and updates!
Dan6
(Dan)
26 March 2008 16:28
4
Is it possible to ...
yes but you don't need a lot of that extra syntax
def test(val1,val2)
[val1,val2]
end
thisarr = test(1.2,"three")
=> [1.2, "three"]
pete <peterbattaglia@gmail.com> wrote: Hi-
This should be an easy one to answer...
Is it possible to return an array from a function?
Example (although a very bad one):
def test(val1,val2)
myarr = Array.new
myarr = [val1,val2]
return myarr
end
begin
thisarr = test(val1,val2)
end
Yes. Even shorter:
def test(val1,val2)
[val1,val2]
end
···
On Mar 26, 2008, at 10:19 AM, pete wrote:
Hi-
This should be an easy one to answer...
Is it possible to return an array from a function?
Example (although a very bad one):
def test(val1,val2)
myarr = Array.new
myarr = [val1,val2]
return myarr
end
begin
thisarr = test(val1,val2)
end
pete wrote:
Hi-
This should be an easy one to answer...
Since you've written all that code, it would be even easier (and get you a faster response) just to run it, surely?
Yes, you can return an Array (or any object) from a method.
Gareth
Ron_Fox
(Ron Fox)
27 March 2008 09:14
7
More precisely, ruby variables are references to objects, not the object itself. You can return a reference to any type of object, including an
Array.
RF
Gareth Adams wrote:
···
pete wrote:
Hi-
This should be an easy one to answer...
Since you've written all that code, it would be even easier (and get you a faster response) just to run it, surely?
Yes, you can return an Array (or any object) from a method.
Gareth