《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__ 现在运行的脚本文件的名字,
//这允许代码作为库调用的时候不运行启动代码,
而在作为执行脚本的时候调用启动代码。
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
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
相关文章推荐
- 通过几个Hello World感受.NET Core全新的开发体验
- 通过几个Hello World感受.NET Core全新的开发体验
- 这个例子主要展示了通过滑动实现viewflipper页面切换
- 通过这个例子一眼就看懂java中wait和notify()用法
- 这个例子主要展示了通过点击button实现viewflipper页面切换
- 结合EL表达式通过小例子体验JSTF的用法
- 通过几个Hello World感受.NET Core全新的开发体验
- 通过几个Hello World感受.NET Core全新的开发体验
- 通过几个Hello World感受.NET Core全新的开发体验
- 我们通过下面这个天气数据处理的例子来说明Hadoop的运行原理.
- 通过实际例子感受使用类聚合的便利
- 通过几个Hello World感受.NET Core全新的开发体验
- 通过几个Hello World感受.NET Core全新的开发体验
- 一种C语言变参函数、变参宏、利用void*传播多个参数、通过内存地址和struct匹配这个地址做内存而获得多个数据的混合例子
- 方法名称20分钟体验Ruby : Ruby in Twenty Minutes
- 通过几个Hello World感受.NET Core全新的开发体验
- 20分钟体验 Ruby
- 这个例子主要展示了通过点击button实现viewflipper页面切换
- 通过几个Hello World感受.NET Core全新的开发体验
- 通过几个Hello World感受.NET Core全新的开发体验