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
  • 相关阅读:
    LVS,NET,TUNL,DR实现负载均衡
    Redis的基本数据结构,基本操作
    mongoDB基本操作
    mysql高级操作(优化)
    sphix使用及即时索引配置
    java client 通过zookeeper连接hbase问题
    TCP/UDP load balance
    Hacking your way to enlightenment with Kafka and Node.js
    flume问题
    linux点滴
  • 原文地址:https://www.cnblogs.com/mobile/p/1106587.html
Copyright © 2011-2022 走看看