Ruby方法链接

Dru*_*Dru 4 ruby method-chaining chaining

我想在Ruby中链接我自己的方法.而不是像这样编写ruby方法并使用它们:

def percentage_to_i(percentage)
  percentage.chomp('%')
  percentage.to_i
end

percentage = "75%"
percentage_to_i(percentage)
=> 75
Run Code Online (Sandbox Code Playgroud)

我想像这样使用它:

percentage = "75%"
percentage.percentage_to_i
=> 75
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Mis*_*cha 7

您必须将该方法添加到String类:

class String
  def percentage_to_i
    self.chomp('%')
    self.to_i
  end
end
Run Code Online (Sandbox Code Playgroud)

有了这个,你可以得到你想要的输出:

percentage = "75%"
percentage.percentage_to_i # => 75
Run Code Online (Sandbox Code Playgroud)

这有点无用,因为to_i它已经为你做了:

percentage = "75%"
percentage.to_i # => 75
Run Code Online (Sandbox Code Playgroud)