Concatenate two arrays

Hello again ruby community!

I just learned how to add two arrays(I know, i know).

My program looked like this

array1=[1,2,3]
array2=[4,5,6]
array_sum=array1+array2

I thought pretty simple stuff, they are combined. However, now i am
looking to define that code as a method and I do not understand how to
create the correct number of arguments, so when the method is called
back it gives me my array_sum.

I have been trying many different variations, but it has now come down
to I am not sure if my defining is wrong or my code in the method is
incorrect.

I want to say it is something such as

def please_work()
array1=[1,2,3]
array2=[4,5,6]
array_sum=array1+array2
end
puts please_work(array_sum)

i ended up fiddling around and getting it to output [1,2,3,4,5,6], but
my syntex said i did not have the correct number of arguments. Also,
sometimes i get array_sum is not a defined variable. If I am defining it
in the method, shouldn’t it be defined if i call the method again?

thanks taking a look at my question
alex

def array_sum(array1 = [], array2 = [])
array1 + array2
end

array_sum([1,2,3], [4,5,6])
=> [1, 2, 3, 4, 5, 6]


Dheeraj K.

On 29 August 2013 21:40, Dheeraj K. [email protected]
wrote:

def array_sum(array1 = [], array2 = [])
array1 + array2
end

array_sum([1,2,3], [4,5,6])
=> [1, 2, 3, 4, 5, 6]

Also I suggest the OP works through a good Ruby primer.

Colin

Colin is right. You should try reading a book, like this one:


Dheeraj K.

Could you paste your test?


Dheeraj K.

Dheeraj K. wrote in post #1119995:

def array_sum(array1 = [], array2 = [])
array1 + array2
end

array_sum([1,2,3], [4,5,6])
=> [1, 2, 3, 4, 5, 6]


Dheeraj K.

Is there a reason why when i would run a test it would say -1 arguments
instead of 2? You had listed two (array1 = [], array2= []), I have never
actually gotten - arguments before with the spec test.

thanks!

Dheeraj K. wrote in post #1120004:

Could you paste your test?


Dheeraj K.

The code for the number of arguments and the part which is failing is

it “requires two arguments” do
method(:array_sum).arity.should eq 2
end

Thanks Dheeraj. Quick question about the pick axe book. Have you given
a version a read back in the day? I am just wondering how beginner
friendly it is.

The arity should be -1, not 2. See the docs here:

I read the pickaxe book about three years ago, when I first started with
Ruby 1.9.2. It was quite beginner friendly, and very useful. I haven’t
read more recent editions.


Dheeraj K.

On Thursday, August 29, 2013 11:02:10 PM UTC+1, Ruby-Forum.com User
wrote:

Dheeraj’s code has optional arguments. In such circumstances arity will
return a negative number (where -1 means that the method requires at
least
0 arguments, -1 would mean a method that requires at least 1 argument
etc…

Thanks Dheeraj. Quick question about the pick axe book. Have you given
a version a read back in the day? I am just wondering how beginner
friendly it is.

It was the first book on ruby I ever read

Fred

Frederick C. wrote in post #1120015:

On Thursday, August 29, 2013 11:02:10 PM UTC+1, Ruby-Forum.com User
wrote:

Dheeraj’s code has optional arguments. In such circumstances arity will
return a negative number (where -1 means that the method requires at
least
0 arguments, -1 would mean a method that requires at least 1 argument
etc…

Thanks Dheeraj. Quick question about the pick axe book. Have you given
a version a read back in the day? I am just wondering how beginner
friendly it is.

It was the first book on ruby I ever read

Fred

Thanks! Look forward to reading it.

Dheeraj K. wrote in post #1119998:

Colin is right. You should try reading a book, like this one:
Search


Dheeraj K.

Hi Colin and Dheeraj,

First off thanks for your help. It is actually quite funny, I ordered
that exact book a few days ago :). I also worked through Chris P.'s
book, which was very nice. I always think i get the ideas, practice the
items that they show, but when it comes to solving problems I freeze up.
Guess it will come with a ton more practice and reading.

thanks for taking the time to help

Alex