ConvertObj

Object

tap

该方法常用于 collections 中一些转换不返回对象本身的方法,比如delete

array = [1, 2, 3]

array.delete(2)				# => 2
array.tap { |a| a.delete(2) }	# => [1, 3]
# array => [1, 3]

dup&clone

dup只获取到对象的值,而clone会用获取到的值调用initialize方法新建一个对象

需要注意的是,dupclone都是浅拷贝,对于数组中的元素仍然是引用值

arr = ["A", "B", "C"]

arr.dup.each { &:downcase }
# arr => ['a', 'b' , 'c']
arr.clone.each { &:downcase }
# arr => ['a', 'b' , 'c']

常用方法

判断类型

Enumerable

inject

The inject and reduce methods are aliases.

向传入参数中依次执行传入的方法或者块,方法中的返回值作为下一次循环的传入参数,并在执行完返回

each_with_object

enum 中每一个元素操作,传入参数可以作为方法块的第二个参数使用

each or map

Hash

创建

定义方法时的默认Hash

常用方法

hash_to_obj

ActiveRecorde _to_hash

deep_values

嵌套安全获取

Array

常用方法

遍历

merge

某些情况下对某个有可能为nil的变量添加值或者创建数组:

去除空元素

String

字符串替换

截取

分组正则匹配替换

​ 其中([=+-])在替换的字符串中的表示为\1

Time

常用方法

日期格式输出

字符串转化

最后更新于

这有帮助吗?