(ruby)(tips)(Stringオブジェクトが持つ文字列の内容を違う文字列に置き換えたい)

rubyのtips一覧は→ http://d.hatena.ne.jp/morakana/20141005/1412679155


 たとえば Stringオブジェクトにメソッドを追加するケースがあったとして
そのメソッドの処理内容が
「自分自身の文字列の内容を変更して、自分自身(self)をリターンする」
だったとします
この場合に selfに文字列を代入しようとしても、エラーが出てしまいます
selfではなく新たな文字列をリターンしても問題が無い場合ならそれでもいいんですが
今回は selfが返らないと不都合がある場合を想定しています・・・
実は、解決法は簡単で replaceメソッドを実行するだけです
require 'dl'

class String
	def xyz()
		self.replace('new word')
		return(self)
	end
end

a = 'aaa'
puts(a)
puts(DL::CPtr[a].to_i())

a.xyz()
puts(a)
puts(DL::CPtr[a].to_i())
自分自身の文字列の内容が変更されているのが確認できます
(おまけとして、ポインタの指している先が変わっていないのもわかりますね)