1、嵌入字符串

在字符串中使用#{…}这样的写法, 可以把通过计算得到的值嵌入到字符串中, 输出结果除了可以嵌入变量名也可以嵌入公式

puts "Area = #{area}"

2、times

循环次数固定使用times方法会更简单

10.times do
    puts 'hahaha'
end

3、symbol

符号(symbol)与字符串对象相似,符号也是一种对象,一般作为名称标签来使用,用来表示方法等对象的名称
可以将符号简单理解为一种轻量级的字符串

symbol1 = :foo    #表示符号:foo
symbol2 = :"foo" #意义同上

4、变量

变量的命名决定了变量的种类
+ 局部变量: 以英文字母或_开头
+ 全局变量: 以$开头
+ 实例变量: 以@开头
+ 类 变 量 : 以@@开头

5、多重赋值

一些小技巧:

a, b, *c = [1,2,3,4,5]          # a=1,b=2,c=[3,4,5]
a, *b, c = [1,2,3,4,5]          # a=1,b=[2,3,4],c=5

a, b = 1,2
b, a = a,b

只要左边的变量结构与数组结构一致, 即使再复杂的结构, 多重赋值都可以轻松解决

6、比较的方法

== === equal? eql?

7、定义带块的方法

yield是定义带块的方法时最重要的关键字,调用方法时通过块传进来的处理会在yield定义的地方执行

8、zip方法

zip方法可以将接收器和参数传来的数组元素逐一取出,而且每次都会启动块. 参数可以是一个也可以是多个

arr1 = [1,2,3,4,5]
arr2 = [10,20,30,40,50]
arr3 = [100,200,300,400,500]

result = []
arr1.zip(arr2,arr3) do |a,b,c|
    result << a+b+c
end
p result