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