On Mon, Aug 25, 2008 at 7:59 PM, Todd Benson <caduceass / gmail.com> wrote:
> On Mon, Aug 25, 2008 at 7:03 PM, Adam Iggy <raver_iggy / hotmail.com> wrote:
>> i'm new at programing. and i was trying to figure out how you add
>> numbers. or string? here is the coding
>>
>> puts 'what is your first name?'
>> name1= gets.chomp
>> puts 'how about your middle?'
>> name2= gets.chomp
>> puts 'and what about your last name?'
>> name3= gets.chomp
>> puts 'did you know there are '+name1.length+name2.length+name3.length+ '
>> letters in your name?'
>>
>> the problem is i get the strings combined, not adding the seperate
>> numbers together.
>>
>> help?
>
> name1.length and friends are numbers, not strings.  You might have to
> you use to_s.
>
>
> Here's a fun inject exercise (q means array of questions, a means
> array of answers)...
>
> q = ["what is your first name?", "how about your middle name?", "and
> what about your last name?"]
> puts q.inject([]) {|a, i| puts i; a << gets.chomp}.inject(0) {|s, a| s + a.size}

To comply with your original requirements, that last line should be...

puts 'did you know there are ' + q.inject([]) {|a, i| puts i; a <<
gets.chomp}.inject(0) {|s, a| s + a.size}.to_s + ' letters in your
name?'

Very strange looking, but makes the most logical sense to me.

Todd