Ruby之旅(一) Ruby之旅第一步 初次見面

來源:互聯網
上載者:User

開始我的Ruby之旅,寫下學習筆記,是針對那些有其他OO語言經驗的人寫的,可以來看下神奇的Ruby。

第一個sample! 初次見面。

#!/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 ""
    else
      if @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
  end
    
  # Say bye to everybody
  def say_bye
    if @names.nil? 
      puts ""
    else
      if @names.respond_to?("join")
      
        # @join the list elements with commas
        puts "Goodbye #{@names.join(",")}. Come back soon!"
      else
        puts "Goodbye #{@names}!"
      end
    end
  end
  
end
    
if __FILE__ == $0
  mg = MegaGreeter.new
  mg.say_hi
  mg.say_bye
  
  #Change name to be "zeke"
  mg.names = "Jaylee"
  mg.say_hi
  mg.say_bye
  
  #Change the name an array of names
  mg.names = ["Albert", "Brenda", "Coderlee"]
  mg.say_hi
  mg.say_bye
  
  #Change to nil
  mg.names = nil
  mg.say_hi
  mg.say_bye
end

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.