您的位置:首页 > 编程语言 > Ruby

《20分钟体验 Ruby》通过这个例子你能感受ruby

2008-03-14 22:54 323 查看
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

# Say hi to everybody

def say_hi

if @names.nil? //判断@names是否为nil

puts "" //输出

elsif @names.respond_to?("each") //判断@names是否有each方法

# @names is a list of some kind, iterate!

@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")

# Join the list elements with commas

puts "Goodbye #{@names.join(", ")}. Come back soon!"

else

puts "Goodbye #{@names}. Come back soon!"

end

end

end

if __FILE__ == $0 //__FILE__ 现在运行的脚本文件的名字,
$0
是启动脚本的名字.

//这允许代码作为库调用的时候不运行启动代码,
而在作为执行脚本的时候调用启动代码。

mg = MegaGreeter.new

mg.say_hi

mg.say_bye

# Change name to be "Zeke"

mg.names = "Zeke"

mg.say_hi

mg.say_bye

# Change the name to an array of names

mg.names = ["Albert", "Brenda", "Charles",

"Dave", "Englebert"]

mg.say_hi

mg.say_bye

# Change to nil

mg.names = nil

mg.say_hi

mg.say_bye

end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: