Skip to content

Instantly share code, notes, and snippets.

@arkjun
Created July 16, 2014 09:39
Show Gist options
  • Save arkjun/7297648ac1a33211833a to your computer and use it in GitHub Desktop.
Save arkjun/7297648ac1a33211833a to your computer and use it in GitHub Desktop.
my first ruby code form studying ruby 20 minutes
#! /usr/bin/env ruby
class MegaGreeter
attr_accessor :names
# Create the object
def initialize(names = "World")
@names = names
end
# Say hi to everybody
def say_hi
if @names.nil?
puts "..."
elsif @names.respond_to?("each")
# @names is a list of some kind, iterate!
@names.each do |name|
puts "Hello #{name}!"
end
else
puts "Hello #{@names}"
end
end
#Say bye to everybody
def say_bye
if @names.nil?
puts "..."
elsif @names.respond_to?("join")
# Join the list elements with commas
puts "Goodbye #{@names.join(", ")}. Come back soon!"
else
puts "Goodbye #{@names}. Come back soon!"
end
end
end
if __FILE__ == $0
puts("a:"+__FILE__);
puts($0);
mg = MegaGreeter.new
mg.say_hi
mg.say_bye
# Change name to be "Zeke"
mg.names = "Zeke"
mg.say_hi
mg.say_bye
# Change the name to an array of names
mg.names = ["Albert", "Brenda", "Charles", "Dave", "Engelbert"]
mg.say_hi
mg.say_bye
# Change to nil
mg.names = nil
mg.say_hi
mg.say_bye
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment