运行
运行 ruby 程序有两种方法
- ruby 命令;
- irb 交互式 shell 命令;
ruby 命令
print("Hello, Ruby.\n")
在 shell 中执行 ruby helloruby.rb

irb 交互式 shell 运行

对于一些简单的小程序只需在 irb 下运行即可。
程序说明
nil 是 print 方法的返回值,字符串 Hello, Ruby!\n 为一个字符串对象,不仅字符串,其它的如数值、时间等各种数据都是对象。
print 是一个方法,方法就是对象的行为,print 方法的作用就是输出括号中内容,其中字符串为它的参数
字符串

转义字符跟其它语言差不多
除了创建字符串对象用双引号,也可以用单引号

单引号与双引号有一个区别,就是转义不生效了,这个需要注意一下。
方法的调用可以省略括号

如果输出参数过多,建议还是加上括号,这样便于理解,在习惯 ruby 语法之前,不要使用省略括号的写法,在一此较为简单的写法中,可以使用省略括号的写法。
puts 方法
puts 方法与 print 方法类似,但 puts 方法在输出结果的末尾一定会输出换行符

有输出效果还有一个 p 方法,它与 print 和 puts 的区别为,当输出数值 100 或字符串 “100” 时,输出显示为 100,这样无法判断结果是哪个对象,在这种情况下,p 方法有效

另外,p 方法对待转义就是不理会,不会转义

编码
编码在 rb 脚本开头用 `# encoding: 编码方式`说明,若未说明,则默认 UTF-8,若要在命令行模式下可用 -E 来指定
ruby -E UTF-8 xxxx.rb
irb -E UTF-8
数值计算与运算

–simple-prompt 会简化 irb 的输出效果

进行数学算术运算时需要加上 Math,如果不想加上 Math,则需要加上 include Math

变量
变量可以将其理解为给对象贴上标签,这个过程称为 “将对象赋值给变量”
x = 10
y = 20
z = 30
area = (x * y + y * z + z * x) * 2
volume = x * y * z
print "表面积=", area, "\n"
print "体积=", volume, "\n"

print "表面积=", area, "\n"
# 也可将上述改写为如下形式
print "表面积=#{area}\n"
# 更加简洁
put "表面积=#{area}"
注释
单行注释用 # 符号
多行注释用 =begin 与 =end 成对

控制语句
控制语句
- 顺序
- 条件 (if、unless、case 等)
- 循环
- 异常
说下异常控制,如果发生意料之外的错误,就会跳出正在执行的那部分程序,然后执行其他地方的程序 ,使用程序能够继续执行下去。
条件 if ~ then ~ end
if 条件 then
条件成立时执行的处理
else
条件不成立时执行的处理
end
a = 20
if a >= 10 then
print "greater\n"
end
if a <= 9 then
print "smaller\n"
end
= 符号在 ruby 中为赋值,若是比较相等,用 ==
循环
while
while 循环条件 do
希望循环的处理
end
i = 1
while i <= 10 do
print i, "\n"
i = i + 1
end
times 方法
循环次数如果已确定,使用 times 方法更加方便
循环次数.times do
希望循环的处理
end
100.times do
print "All work and no play makes Jack a dull boy.\n"
end
times 为迭代器,迭代器是 ruby 的一个特色功能,循环的容器,迭代器就是指用于执行循环处理的地方。Ruby 除了 times 这个迭代器外,还提供了很多迭代器,例如 each。