У меня есть строка, например,
string = 'foo-bar'
, и я хочу новую строку, которая не содержит символ в index 3
(-
в строке примера), поэтому результаты будут "foobar"
.Прежняя строка не должна быть изменена.
Это то, что я имею до сих пор:
new_string = string.dup
new_string.slice!(3)
new_string
#=> "foobar"
string
#=> "foo-bar"
или как «однострочник»:
new_string = string.dup.tap { |s| s.slice!(3) }
#=> "foobar"
Нонеобходимость в dup
и, возможно, tap
выглядит довольно громоздкой.Есть ли более лаконичный способ?