对象
print("Hello world.\n")
下划线部分被称为String对象或者字符串对象,也可以直接称这部分为字符串。
数据在程序中表现为对象。在Ruby中,字符串、数值、时间等各种数据都是对象。
注:\n是换行符,与大多数语言一样。
print是一个方法。所谓方法就是对象的行为。
print方法的作用就是输出()里的内容。执行方法时必须的条件称为参数。括号里面的内容就是print方法的参数。
转义符
\是转义字符。
单引号与双引号
创建字符串对象除了可以使用""(双引号)外,还可以使用''(单引号)。
例如:
print('Hello ruby\n')
执行结果:
Hello ruby\n
就是说在单引号里,像\n这样的特殊字符不会经过转义,而是原封不动的直接输出。
但是也有例外,若想在字符串里嵌入\与单引号时,还是需要在之前加上\转义。否则会报错。
方法的调用
Ruby在调用方法时可以省略()。如:
print "Hello World!"
若想连续输出多个字符串,用逗号(,)分隔各字符串,程序会按顺序输出字符串。如:
print "Hello","Ruby",'!' #单双引号可以混用
执行结果:
HelloWorld!
其他的输出方法:
puts方法
puts方法与print方法的区别:
puts方法在输出结果的末尾一定会输出换行符。注:当参数为两个及以上时各个字符串末尾都会加上换行符。如:
puts "Hello","Ruby","!"
执行结果:
Hello
Ruby
!
P方法
与其他输出方法的区别:使用p方法时,数值结果和字符串结果会以不同的形式输出。如:
puts "100" #输入字符串100
puts 100 #输入数值100
p "100"
p 100
执行结果:
100
100
"100"
100
解释:可以看到puts方法和print方法无论是输入数值100,还是输出字符串100,最后的结果都是100。而p方法则会准确的告知
结果。
另外,使用p方法时,换行符(\n)、制表符(\t)等特殊字符不会转义,而会直接输出。
使用原则:若只是需要输出程序执行结果、信息等,可以选择print方法;若想要确认程序的执行情况,则可以选择p方法。
原则上p方法是提供给编程者使用的。
关于中文输出
在某些Ruby环境中可能存在编码方式错误,导致中文输出乱码。
Ruby程序的编码方式,是通过在程序的首行代码添加注释"#encoding:编码方式"来指定的。(编码的规则称为encoding)。这个注释称为魔法注释(magic comment)。
Windows常用编码GBK编写代码时,可像下面这样写。
#encoding:GBK
print "你好,世界"
平台 | 编码方式 |
---|---|
Windows | GBK (或者GB 2312) |
Mac OS X | UTF-8 |
Unix | UTF-8 |
另外使用上述p方法输出中文时,有时候也会出现乱码的情况。这时可以使用"-E 编码方式"这个选项来指定输出结果的编码方式。
ruby -E UTF-8 脚本文件名 #脚本执行
irb -E UTF-8 #irb启动