A very early Ruby problem..

Discussion in 'Ruby' started by Jonndailey, May 23, 2007.

  1. Jonndailey

    Jonndailey Guest

    In Chris Pine's book, "Learn to Program", he asks you to write a small
    app. I'm having trouble writing this app and I was wondering if anyone
    could help me out.

    Here's the excerpt:

    "I guess we could write a program which asks for your first, middle,
    and last names individually, and then adds those lengths together...
    hey, why don't you do that! Go ahead, I'll wait."
    http://pine.fm/LearnToProgram/?Chapter=05

    I'm having a problem writing this code. I know a lot of you will look
    at this and think this is the easiest thing ever. I hope I catch
    someone like that to help me out.

    Any ideas?

    thanks a lot.
     
    Jonndailey, May 23, 2007
    #1
    1. Advertisements

  2. Hi,

    Did you understand the program just before that?
    The one that asked for your full name and printed the number of characters.

    Would you show how much you have been able to write so far?

    Harry
     
    Harry Kakueki, May 23, 2007
    #2
    1. Advertisements

  3. Jonndailey

    anansi Guest

    Well this is rather simple. You know how to read from STDIN (= console
    input)? There are several ways like gets or readline. So

    surname = readline or surename = gets reads from the console and saves
    the string in the variable surname. You can get the length of a string
    with the length method. So surename.length gives the length of surename
    but realize that gets and readline also are saving the newline feed in
    the variable you have to cut off with chomp or length will always be 1
    to high.

    A simple implementation looks like this:

    #!/usr/bin/env ruby

    $VERBOSE = true

    # outputs surname on the screen
    puts "surname:"
    # reads console input to surname
    surname = gets

    puts "middlename:"
    middlename = gets

    puts "lastname:"
    lastname = gets

    puts "total length:"
    # adds the lengths of the three strings after they have beeen chomped
    p surname.chomp.length+middlename.chomp.length+lastname.chomp.length
     
    anansi, May 23, 2007
    #3
  4. Jonndailey

    Ari Brown Guest

    An excellent book. It's where I learned to program Ruby!

    So you'd first want to ask for them. Remember, variables are stored
    from right to left.

    #use gets.chomp to ask for the name. Store the result in the
    appropriate variable.
    first_name = gets.chomp
    middle_name = gets.chomp
    last_name = gets.chomp

    #Now we need to add these parts together.

    And you're fabulous puts code goes here.

    You probably had trouble with how to ask for it, right? I know that's
    where I had trouble. puts ing the phrase is just as easy - just puts
    each variable, and separate each with a space.

    The blind teaching the blind
    HTH
    ---------------------------------------------------------------|
    ~Ari
    "I don't suffer from insanity. I enjoy every minute of it" --1337est
    man alive
     
    Ari Brown, May 23, 2007
    #4
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.