Method: String#capitalize!
- Defined in:
- string.c
#capitalize!(*options) ⇒ self?
Upcases the first character in self; downcases the remaining characters; returns self if any changes were made, nil otherwise:
s = 'hello World!' # => "hello World!"
s.capitalize! # => "Hello world!"
s # => "Hello world!"
s.capitalize! # => nil
The casing may be affected by the given options; see Case Mapping.
Related: String#capitalize.
8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 |
# File 'string.c', line 8135 static VALUE rb_str_capitalize_bang(int argc, VALUE *argv, VALUE str) { rb_encoding *enc; OnigCaseFoldType flags = ONIGENC_CASE_UPCASE | ONIGENC_CASE_TITLECASE; flags = (argc, argv, flags); str_modify_keep_cr(str); enc = str_true_enc(str); if (RSTRING_LEN(str) == 0 || !RSTRING_PTR(str)) return Qnil; if (flags&ONIGENC_CASE_ASCII_ONLY) rb_str_ascii_casemap(str, str, &flags, enc); else str_shared_replace(str, rb_str_casemap(str, &flags, enc)); if (ONIGENC_CASE_MODIFIED&flags) return str; return Qnil; } |