Skip to content

Instantly share code, notes, and snippets.

@danielkaczmarczyk
Created March 10, 2019 14:56
Show Gist options
  • Save danielkaczmarczyk/4355d21385355c9eef0b7c224fed168a to your computer and use it in GitHub Desktop.
Save danielkaczmarczyk/4355d21385355c9eef0b7c224fed168a to your computer and use it in GitHub Desktop.

Badges and Schedules

Objectives

  1. Define methods that use iteration and control the return values of those methods.
  2. Define methods that call other methods.

Introduction

In this lab you'll iterate through an array and output the results in different ways.

You are hosting a coding conference! You need to write methods to print badges for nametags and room assignments.

Instructions

Write your code in the conference_badges.rb file.

badge_maker

You're hosting a conference and need to print badges for the speakers.

Write a badge_maker method that, when provided a person's name, will create and return this message. E.g.:

badge_maker("Arel")
=> "Hello, my name is Arel."

Each badge should read: "Hello, my name is _____."

batch_badge_creator

The list of speakers for your conference has been finalized. Your conference speakers are: Edsger, Ada, Charles, Alan, Grace, Linus, and Matz. How you scored these luminaries is beyond me, but way to go! Now you'll want to get their badges printed.

  • Write a batch_badge_creator method that takes an array of names as an argument and returns an array of badge messages.

assign_rooms

You just realized that you also need to give each speaker a room assignment.

Write a method called assign_rooms that takes the list of speakers as an argument and assigns each speaker to a room. Make sure that each room only has one speaker.

  • You have rooms 1-7.
    • return a list of room assignments in the form of: "Hello, _____! You'll be assigned to room _____!"
    • Hint: Think about how you will assign a room number to each person. Array items are indexed, meaning that you can access each element by its index number. When you are iterating through an array, you can keep track of the index number of the current iteration using an enumerator method called each_with_index.
    • Hint: Remember that the return value of the each method is the original array that you are calling it on. How can you collect or store the room assignment strings you are creating as you iterate and return them at the end of your assign_rooms method? Google or use Ruby Docs to find the correct method.

printer

Now you have to tell the printer what to print.

Create a method called printer that will output first the results of the batch_badge_creator method and then of the assign_rooms method to the screen.

  • Hint: Remember that methods can call other methods. If the return value of assign_rooms is an array of room assignments, how can you print out each assignment? You'll need to iterate over your array of room assignments in order to puts out each individual assignment.

View Badges and Schedules on Learn.co and start learning to code for free.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment