VOOZH about

URL: https://apidock.com/ruby/String/delete_suffix!

⇱ String#delete_suffix! - APIdock


method

delete_suffix!

ruby latest stable - Class: String
delete_suffix!(p1)
public

Deletes trailing suffix from str, returning nil if no change was made.

"hello".delete_suffix!("llo") #=> "he"
"hello".delete_suffix!("hel") #=> nil
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;
}

Related methods