End of Life Ruby 3.2 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →
instance method
String#delete_suffix!
delete_suffix!(suffix) → self or nil
string.c
View on GitHub ↗
static VALUE
rb_str_delete_suffix_bang(VALUE str, VALUE suffix)
{
long olen, suffixlen, len;
str_modifiable(str);
suffixlen = deleted_suffix_length(str, suffix);
if (suffixlen <= 0) return Qnil;
olen = RSTRING_LEN(str);
str_modify_keep_cr(str);
len = olen - suffixlen;
STR_SET_LEN(str, len);
TERM_FILL(&RSTRING_PTR(str)[len], TERM_LEN(str));
if (ENC_CODERANGE(str) != ENC_CODERANGE_7BIT) {
ENC_CODERANGE_CLEAR(str);
}
return str;
}
Like String#delete_suffix, except that self is modified in place. Returns self if the suffix is removed, nil otherwise.
See also
#delete_suffix
#downcase
#delete_prefix!
#downcase!
also in
4.1 · 4.0 · 3.4 · 3.3 · 3.1 · 3.0