shuffle
メソッドとメソッドを提供して、Ruby の String クラスにモンキーパッチを適用したいと思いshuffle!
ます。
class String
def shuffle
self.split('').shuffle.join
end
end
新しい文字列を返します。shuffle!
コピーを返す代わりに文字列を変更するメソッドを作成するにはどうすればよいですか?
自分で調べてみたのですが、String のソースコードは MRI では C です。
shuffle
メソッドとメソッドを提供して、Ruby の String クラスにモンキーパッチを適用したいと思いshuffle!
ます。
class String
def shuffle
self.split('').shuffle.join
end
end
新しい文字列を返します。shuffle!
コピーを返す代わりに文字列を変更するメソッドを作成するにはどうすればよいですか?
自分で調べてみたのですが、String のソースコードは MRI では C です。
に割り当てることはできませんself
。これはおそらく最初に頭に浮かぶことです。ただし、String#replace
文字列の内容を置き換える便利なメソッドがあります。
class String
def shuffle
split('').shuffle.join
end
def shuffle!
replace shuffle
end
end
s = 'hello'
s.shuffle!
s # => "lhleo"