APIdock / Ruby
/
method

chr

ruby latest stable - Class: Integer
chr(*args)
public

Returns a string containing the character represented by the int's value according to encoding.

65.chr  #=> "A"
230.chr  #=> "\xE6"
255.chr (Encoding ::UTF_8) #=> "\u00FF"
static VALUE
int_chr(int argc, VALUE *argv, VALUE num)
{
 char c;
 unsigned int i;
 rb_encoding *enc;
 if (rb_num_to_uint(num, &i) == 0) {
 }
 else if (FIXNUM_P(num)) {
 rb_raise(rb_eRangeError, "%ld out of char range", FIX2LONG(num));
 }
 else {
 rb_raise(rb_eRangeError, "bignum out of char range");
 }
 switch (argc) {
 case 0:
 if (0xff < i) {
 enc = rb_default_internal_encoding();
 if (!enc) {
 rb_raise(rb_eRangeError, "%d out of char range", i);
 }
 goto decode;
 }
 c = (char)i;
 if (i < 0x80) {
 return rb_usascii_str_new(&c, 1);
 }
 else {
 return rb_str_new(&c, 1);
 }
 case 1:
 break;
 default:
 rb_check_arity(argc, 0, 1);
 break;
 }
 enc = rb_to_encoding(argv[0]);
 if (!enc) enc = rb_ascii8bit_encoding();
 decode:
 return rb_enc_uint_chr(i, enc);
}

AltStyle によって変換されたページ (->オリジナル) /