我有一个字符串,例如:
string = 'foo-bar'
我需要一个不包含索引
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
看起来很繁琐。有更简洁的方式吗?
dup
接受类似于tap
的块。不确定这是否是一个好主意。 - cremno