Files
ruby-lab/examples/mega_greeter.rb
T
2026-10-13 18:54:55 +02:00

50 lines
875 B
Ruby

#!/usr/bin/env ruby
class MegaGreeter
attr_accessor :names
def initialize(names = "World")
@names = names
end
def say_hi
if @names.nil?
puts "..."
elsif @names.respond_to?("each")
@names.each do |name|
puts "Hello #{name}!"
end
else
puts "Hello #{@names}!"
end
end
def say_bye
if @names.nil?
puts "..."
elsif @names.respond_to?("join")
puts "Goodbye #{@names.join(", ")}. Come back soon!"
else
puts "Goodbye #{@names}. Come back soon!"
end
end
end
if __FILE__ == $PROGRAM_NAME
greeter = MegaGreeter.new
greeter.say_hi
greeter.say_bye
greeter.names = "Zeke"
greeter.say_hi
greeter.say_bye
greeter.names = ["Albert", "Brenda", "Charles", "Dave", "Engelbert"]
greeter.say_hi
greeter.say_bye
greeter.names = nil
greeter.say_hi
greeter.say_bye
end