TOP
|
ruby语言是什么东西(二)
dnight "John-Boy") puts(sayGoodnight("John-Boy")) puts sayGoodnight("John-Boy") puts sayGoodnight "John-Boy" |
但是如果都不写括号,你知道那个参数传给谁吗?所以还是建议在方法后面加上括号,方便阅读源程序。
这个方法还展示了string对象,有很多种办法可以创建string对象,但最普通的要算用string literals了:单引号或双引号包起来的一组字符。它们的区别是ruby构建这两种字符串时要做的操作。对单引号引起来的字符串来说,ruby做的工作会很少,单引号引起来得部分就是它的值。如果是双引号引起来得,则要做多一些工作了。首先,它检查是否包含反斜线,也就是转义符,然后用适当的二进制值代替,最常见的就是"/n"了,它将会被换行替换。如:
puts "And Goodnight,/nGrandma" |
产生结果如下:
第二件事情就是expression interpolation。#{ expression }被expression的值代替,例如,下面的方法和刚才的例子是一样的结果
def sayGoodnight(name) result = "Goodnight, #{name}" return result end |
当然我们还可以再简化这个函数。一个ruby函数返回的结果就是最后一行的值,所以这个函数也可以写成如下:
def sayGoodnight(name) "Goodnight, #{name}" end |
Ruby使用俗定的命名方式为变量命名,变量名的第一个字母标志了它的类型,是局部变量,还是方法参数,方法名应该以小写字母或者下划线开头,全局变量应该以$开头,实例变量以@开头, class变量以@@开头,而类名,模块名,常量应该以大写字母开头。 一个名字可以是字母,数字,下划线的任意组合,但是有@后面不允许直接跟着一个数字。 总之,作为一门语言,不是一两个例子,几个文章能说清楚地,在网上流传的我爱ruby的10个原因等跟天下足球top ten类似的短文中,总会看到一个理由,就是fun with ruby。也许,更有趣的还在后面。
|