Concatenate two arrays

37 views
Skip to first unread message

Alex Froelich

unread,
Aug 29, 2013, 4:31:22 PM8/29/13
to rubyonra...@googlegroups.com
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

--
Posted via http://www.ruby-forum.com/.

Dheeraj Kumar

unread,
Aug 29, 2013, 4:40:05 PM8/29/13
to rubyonra...@googlegroups.com
def array_sum(array1 = [], array2 = [])
  array1 + array2
end

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

-- 
Dheeraj Kumar

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.

Colin Law

unread,
Aug 29, 2013, 4:42:15 PM8/29/13
to rubyonra...@googlegroups.com
On 29 August 2013 21:40, Dheeraj Kumar <a.dheer...@gmail.com> 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
> https://groups.google.com/d/msgid/rubyonrails-talk/8C5A4B6AC18E4B879C13839A3B5582B4%40gmail.com.

Dheeraj Kumar

unread,
Aug 29, 2013, 4:44:30 PM8/29/13
to rubyonra...@googlegroups.com
Colin is right. You should try reading a book, like this one: http://pragprog.com/book/ruby4/programming-ruby-1-9-2-0

-- 
Dheeraj Kumar

Alex Froelich

unread,
Aug 29, 2013, 4:58:38 PM8/29/13
to rubyonra...@googlegroups.com
Dheeraj Kumar wrote in post #1119998:
> Colin is right. You should try reading a book, like this one:
> http://pragprog.com/book/ruby4/programming-ruby-1-9-2-0
>
> --
> Dheeraj Kumar

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 Pine'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

Alex Froelich

unread,
Aug 29, 2013, 5:07:57 PM8/29/13
to rubyonra...@googlegroups.com
Dheeraj Kumar 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 Kumar

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 Kumar

unread,
Aug 29, 2013, 5:17:19 PM8/29/13
to rubyonra...@googlegroups.com
Could you paste your test?

-- 
Dheeraj Kumar

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.

Alex Froelich

unread,
Aug 29, 2013, 6:02:10 PM8/29/13
to rubyonra...@googlegroups.com
Dheeraj Kumar wrote in post #1120004:
> Could you paste your test?
>
> --
> Dheeraj Kumar

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.

Frederick Cheung

unread,
Aug 29, 2013, 6:29:50 PM8/29/13
to rubyonra...@googlegroups.com


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

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



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 

Dheeraj Kumar

unread,
Aug 29, 2013, 6:26:17 PM8/29/13
to rubyonra...@googlegroups.com
The arity should be -1, not 2. See the docs here: http://www.ruby-doc.org/core-1.9.3/Method.html#method-i-arity

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 Kumar

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
To post to this group, send email to rubyonra...@googlegroups.com.

Alex Froelich

unread,
Aug 29, 2013, 10:04:49 PM8/29/13
to rubyonra...@googlegroups.com
Thanks! Look forward to reading it.
Reply all
Reply to author
Forward
0 new messages