LirenZhao's Blog
C0#1J0a1v0a1r0u0b1y0r1a1i1ls0f0l0e0x01
gtalk:lirnzhao#gmail.com
随笔 - 42, 文章 - 0, 评论 - 46, 引用 - 1
数据加载中……
《20分钟体验 Ruby》通过这个例子你能感受ruby
1
#
!/usr/bin/env ruby
2
3
class
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
38
end
39
40
41
if
__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
61
end
posted on 2008-03-14 22:54
LirenZhao
阅读(85)
评论(0)
编辑
收藏
Powered by:
博客园
Copyright © LirenZhao
导航
首页
新随笔
联系
订阅
管理
<
2008年3月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
公告
这这里显示的是是公告,不不是母告
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
随笔分类
(40)
.Flex(18)
(rss)
.NET(3)
(rss)
.NET CF(13)
(rss)
.OTHERS(3)
(rss)
Ruby On Rails(3)
(rss)
收藏夹
(1)
Flex(1)
(rss)
最新随笔
1. ubuntu英文环境下使用中文输入法
2. 《20分钟体验 Ruby》通过这个例子你能感受ruby
3. 体验Android:个人所得税计算器 含源码
4. C# CRC8实现
5. RoR: Ruby On Rails Web Service 3 分发模式
6. RoR: Ruby On Rails 的 Web Service 2 使用before_invocation进行验证调用权限
7. Flex 动态切换css
8. Flex 调用添加了SoapHeader的web service
9. Flex 自定义事件2
10. Flex 打印DataGrid内容 2.0