#!/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.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')
puts "Goodbye #{@names.join(',')}. Come back soon!"
else
puts "Goodbye #{@names}. Come back soon!"
end
end
end
if __FILE__ == $0
mg = MegaGreeter.new
mg.say_hi
mg.say_bye
# Change name to be 'jacky'
mg.names = 'jacky'.capitalize
mg.say_hi
mg.say_bye
# Change the name to an array of names
mg.names = ['Tom','Jack','Kate']
mg.say_hi
mg.say_bye
# Change to nil
mg.names = nil
mg.say_hi
mg.say_bye
end
the first Ruby sample
最新推荐文章于 2025-08-24 15:59:39 发布
本文介绍了一个使用 Ruby 编写的 MegaGreeter 类,该类能够根据不同情况个性化地打招呼和告别。通过实例化 MegaGreeter 对象并设置名字属性,可以实现对单个或多个名字的问候与道别。
419

被折叠的 条评论
为什么被折叠?



