VOOZH about

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

⇱ String#swapcase! - APIdock


method

swapcase!

ruby latest stable - Class: String
swapcase!(*args)
public

Equivalent to String#swapcase, but modifies the receiver in place, returning str, or nil if no changes were made.

See String#downcase for meaning of and use with different encodings.

static VALUE
rb_str_swapcase_bang(int argc, VALUE *argv, VALUE str)
{
 rb_encoding *enc;
 OnigCaseFoldType flags = ONIGENC_CASE_UPCASE | ONIGENC_CASE_DOWNCASE;

 flags = check_case_options(argc, argv, flags);
 str_modify_keep_cr(str);
 enc = STR_ENC_GET(str);
 rb_str_check_dummy_enc(enc);
 if (flags&ONIGENC_CASE_ASCII_ONLY)
 rb_str_ascii_casemap(str, &flags, enc);
 else
 str_shared_replace(str, rb_str_casemap(str, &flags, enc));

 if (ONIGENC_CASE_MODIFIED&flags) return str;
 return Qnil;
}

Related methods