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
  • 相关阅读:
    python中使用schedule模块定时执行任务
    python marshmallow库
    shell 脚本根据名称查找进程id会多出来两个id号
    docker随笔(1)
    python实现-kafka作为消息中间件 -实现数据生产和消费-实用的脚本
    python-kafka文档
    mysql文档
    VMware pro15安装centos7
    excel表计算和计算器计算结果不一致
    jmeter安装部署、maven路径配置
  • 原文地址:https://www.cnblogs.com/mobile/p/1106587.html
Copyright © 2011-2022 走看看