Some Basic Ruby

[复制链接]
查看11 | 回复0 | 2006-8-15 13:18:00 | 显示全部楼层 |阅读模式
先看一个方法的定义:
def say_goodnight(name)#(name) 这里的()是可选的
result = "Good night, " + name
return result
end
# Time for bed...
puts say_goodnight("John-Boy&quot


puts say_goodnight("Mary-Ellen&quot

#这里也可以写成 puts(say_goodnigth("xx&quot

)

1.方法使用def开始,end结束
2.#表示注释,相当于java,c++里面的//
3.每行结束不需要";",每个语句占一行
4.不强调缩进,不过建议使用2个字符的缩进,4个字符缩进常常会使得程序超出屏幕右端
5.变量不需要声明,在它被赋值的时候开始存在
6.参数是可以加或者不加括号的,但是优先级规则很难判断哪个参数属于哪个方法,所以,尽量使用括号
7.puts方法,结束要打印一个回车


下面介绍String literals:
String literals 有2种表现形式,1)"xxxxxxxxxx" 2)'xxxxxxxxxxx'
2种表现是有区别的:
1.单引号的只可以使用纯粹的 literals,详细的说就是不能包括转义字符,以及一些特殊的表示,所以它处理速度快于第2种方式
2.双引号的可以使用转义字符和#{expression},下面详细说明:
a.替换转移字符,比如\n,替换成为binary value
b.替换#{expression},替换成为expression的值
例:
def say_goodnight(name)
result = "Good night, #{name.capitalize}"
return result
end
puts say_goodnight('uncle')

注意,#{expression}这里的括号在某些情况下可以省略,1)当expression是一个global varables时 2)当expression是一个instance varables时 3)expression是一个class varables时
例:
$greeting = "Hello"
@name= "Prudence"
puts "#$greeting, #@name"


下面介绍很重要的命名规则:
命名(names):名字的第一个字符标识了名字的用法(usage)
1.变量命名规则:
a.变量名用小写字母或者下划线开始(下划线被认为是字母)
b.如果是全局变量,用$开始
c.如果是instance varables,用@开始
d.如果是class varables,用@@开始
e.@,$后面不可以接数字
f._就是字母,但是它没有大写形式
2.其他的命名规则:
a.类名,module名,常量,用大写字母开始
b.instance varables 如果有多个单词,用_分开,例如:@i_love_you
c.类名使用头字母大写的方式区别多个单词,例如:ILoveYou



补充:
代码如下
def say_goodnight(name)
"Good night, #{name}"#字符串被隐式的赋值给了一个临时变量
end
puts say_goodnight('Ma')
结果:Good night,Ma

ruby中,方法返回的值是最后一次赋值的表达式的值
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行