ruby - 修改 self ,Ruby

标签 ruby

module Pigged
  String.class_eval do
    def pig
      newstring = self + self[0]; newstring[0] = ""; newstring += "ay"
      return newstring
    end
  end
end

是相关代码。我想要做的是制作一个方法,pig!,它修改原始字符串。我该怎么做,而不修改 self ,因为这是不允许的......?

最佳答案

我稍微压缩了你的代码并添加了 pig! 方法:

module Pigged
  String.class_eval do
    def pig
      self[1..-1] + self[0] + 'ay'
    end
    def pig!
      self.replace(pig) #self.replace(self[1..-1] + self[0] + 'ay')
    end
  end
end

关于ruby - 修改 self ,Ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10390070/

相关文章:

ruby-on-rails - 找不到有效的 gem 安装 activerecord-sqlite3-adapter

ruby - 在 Ruby block 中访问方法

ruby-on-rails - Controller Action 中未定义的方法新

ios - 使用载波将图像从 iphone 应用程序上传到 Rails 应用程序

ruby-on-rails - Rails/ActiveRecord - AdapterNotSpecified,即使它是

ruby 调试,尝试循环对象实例变量

ruby - Rails -- :id attribute? 所需的数据库索引

ruby - 如何修改 ruby​​ 中现有的 csv 列?

Ruby Sort_by 多个参数与 asc/desc 相反

ruby - 如何在 ubuntu 18.04 上安装 vagrant 2.2.0?