結論
破壊メソッドで文字列の一部文字を削除できる。
そもそもsliceとは?
特定の文字を取り出せる非破壊メソッド
どうやって取り出すのか
word = "abcde"
# インデックス 0(最初の文字)を指定
word.slice(0) #=> "a"
# インデックス -1(最後の文字)を指定
word.slice(-1) #=> "e"
# 範囲 0..1(0番目から1番目まで)を指定
word.slice(0..1) #=> "ab"
# 範囲 0..-1(先頭から最後まで、全体を指定)
word.slice(0..-1) #=> "abcde"
非破壊とは?
加工をしても元の文字列は変更されない
word = "abcde"
word.slice(0) #=> "a"
word #=> "abcde" 元のまま
本題 slice!を解説
破壊とは?
加工後は元の文字列は変更される
具体的に
word = "abcde"
# 破壊的にインデックス 0 の文字を削除
word.slice!(0) #=> "a" (削除後、word は "bcde" になる)
# 破壊的にインデックス -1 の文字を削除
word.slice!(-1) #=> "e" (削除後、word は "bcd" になる)
まとめ
slice!は文字列の特定位置の文字を削除することができる。