Ruby对象
Ruby是 面向对象 脚本语言,在Ruby中字符串、数值、时间等各种数据都是对象:
以 Ruby快速起步 最简单的一行代码程序为例:
输出
Hello, Ruby. 的简单一行ruby脚本print("Hello, Ruby.\n")
print 是方法, Hello, Ruby.\n 就是对象。在Ruby这样的面向对象的语言中,所有对象的操作,都是通过执行一种方法来实现的。
备注
和 print 方法类似但稍有区别的是 puts 方法:
puts 方法在输出结果的末尾一定会输出 换行符
p 方法
print 和 puts 方法,输出数值 1 和 字符串 "1" 时候都是单纯的 1 ,此时无法判断结果是数值对象还是字符串对象,但是 p 方法会区别:
使用
print 和 p 方法对于输出对象的区别irb(main):007:0> print(1)
1=> nil
irb(main):008:0> print("1")
1=> nil
irb(main):009:0> p(1)
1
=> 1
irb(main):010:0> p("1")
"1"
=> "1"
使用
p方法可以方便程序调试:
使用
print 输出程序执行结果,使用 p 输出调试信息print("Hello, \n\tRuby.\n")
p("Hello, \n\tRuby.\n")
执行
ruby ruby_object/print_p_debug可以看到输出:
执行
print 和 p 方法可以看到不同的输出,显然 p 特别适合调试程序Hello,
Ruby.
"Hello, \n\tRuby.\n"
中文编码
Ruby脚本开头可以使用 魔法注释 (magic comment) 来指定程序编码,对于中文,可以使用 UTF-8 :
在程序开头可以使用
魔法注释 指定程序编码# encoding: UTF-8
从 Ruby 2.0 开始,如果没有指定魔法注释,则默认使用 UTF-8 编码
对于命令行, ruby 可以使用 -E 参数指定编码:
ruby -E UTF-8 <脚本文件名>
参考
「Ruby基础教程」