zoukankan      html  css  js  c++  java
  • 《20分钟体验 Ruby》通过这个例子你能感受ruby

     1#!/usr/bin/env ruby
     2
     3class MegaGreeter
     4  attr_accessor :names  //设置属性,自动产生两个方法(name,name=)用来访问@name的值
           //想知道一个类提供了那些方法?类名.instance_methods会告诉你,如果只想知道自己定义的方法加个false参数
     5
     6  # Create the object
     7  def initialize(names = "World") //构造函数
     8    @names = names //定义了局部变量@names
     9  end
    10
    11  # Say hi to everybody
    12  def say_hi
    13    if @names.nil? //判断@names是否为nil
    14      puts "" //输出
    15    elsif @names.respond_to?("each") //判断@names是否有each方法
    16
    17      # @names is a list of some kind, iterate!
    18      @names.each do |name| //循环
    19        puts "Hello #{name}!"
    20      end
    21    else
    22      puts "Hello #{@names}!"
    23    end
    24  end
    25
    26  # Say bye to everybody
    27  def say_bye
    28    if @names.nil?
    29      puts ""
    30    elsif @names.respond_to?("join")
    31      # Join the list elements with commas
    32      puts "Goodbye #{@names.join("")}.  Come back soon!"
    33    else
    34      puts "Goodbye #{@names}.  Come back soon!"
    35    end
    36  end
    37
    38end
    39
    40
    41if __FILE__ == $0  //__FILE__ 现在运行的脚本文件的名字,$0 是启动脚本的名字.
                        //这允许代码作为库调用的时候不运行启动代码, 而在作为执行脚本的时候调用启动代码。
    42  mg = MegaGreeter.new
    43  mg.say_hi
    44  mg.say_bye
    45
    46  # Change name to be "Zeke"
    47  mg.names = "Zeke"
    48  mg.say_hi
    49  mg.say_bye
    50
    51  # Change the name to an array of names
    52  mg.names = ["Albert""Brenda""Charles",
    53    "Dave""Englebert"]
    54  mg.say_hi
    55  mg.say_bye
    56
    57  # Change to nil
    58  mg.names = nil
    59  mg.say_hi
    60  mg.say_bye
    61end
  • 相关阅读:
    如何快速且深入的学习一门新技术
    为什么说云原生会成为未来企业技术变迁的趋势
    高并发场景下锁的使用技巧
    开箱即用~基于.NET Core的敏捷开发框架规划
    为什么在做微服务设计的时候需要DDD?
    为什么我使用了索引,查询还是慢?
    解读中兴通信在物联网行业如何践行DDD
    服务发现技术是如何演进出来的?
    关于盘点和总结的那点事儿
    文件上传 通过 ServletContext.getRealPath()获取不到路径&war与war exploded的区别
  • 原文地址:https://www.cnblogs.com/mobile/p/1106587.html
Copyright © 2011-2022 走看看