ruby方法链接

Orb*_*bit 0 ruby

   var.split('/').delete_at(0)
Run Code Online (Sandbox Code Playgroud)

检查后返回

"" 
Run Code Online (Sandbox Code Playgroud)

无论什么字符串,但....

   var.split('/')
   var.delete_at(0)
Run Code Online (Sandbox Code Playgroud)

给了我一点麻烦.这可能是一个愚蠢的问题,但是对于这样的方法链是否存在某种限制/限制?

谢谢,布兰登

Nic*_*nco 8

delete_at方法删除元素但返回已删除的元素而不是新数组.

如果要始终返回对象,可以使用tap方法(自Ruby 1.8.7起可用).

a = [1, 2, 3, 4, 5, 6, 7]
a.delete_at(0) # => 1
a # => [2, 3, 4, 5, 6, 7]

a = [1, 2, 3, 4, 5, 6, 7]
a.tap { |a| a.delete_at(0) } # => returns [2, 3, 4, 5, 6, 7]
a # => [2, 3, 4, 5, 6, 7]
Run Code Online (Sandbox Code Playgroud)