Ruby
3.4.0dev (2024-11-22 revision 0989400a925cd201defdca9eb28eb87200b30785)
|
Arithmetic conversion between C's char
and Ruby's.
More...
#include "ruby/internal/arithmetic/int.h"
#include "ruby/internal/arithmetic/long.h"
#include "ruby/internal/attr/artificial.h"
#include "ruby/internal/attr/const.h"
#include "ruby/internal/attr/constexpr.h"
#include "ruby/internal/cast.h"
#include "ruby/internal/core/rstring.h"
#include "ruby/internal/value_type.h"
Go to the source code of this file.
Macros | |
#define | RB_NUM2CHR rb_num2char_inline |
Just another name of rb_num2char_inline. More... | |
#define | NUM2CHR RB_NUM2CHR |
Old name of RB_NUM2CHR. More... | |
#define | CHR2FIX RB_CHR2FIX |
Old name of RB_CHR2FIX. More... | |
Functions | |
static VALUE | RB_CHR2FIX (unsigned char c) |
Converts a C's unsigned char into an instance of rb_cInteger. More... | |
static char | rb_num2char_inline (VALUE x) |
Converts an instance of rb_cNumeric into C's char . More... | |
Arithmetic conversion between C's char
and Ruby's.
RBIMPL
or rbimpl
are implementation details. Don't take them as canon. They could rapidly appear then vanish. The name (path) of this header file is also an implementation detail. Do not expect it to persist at the place it is now. Developers are free to move it anywhere anytime at will. __VA_ARGS__
is always available. We assume C99 for ruby itself but we don't assume languages of extension libraries. They could be written in C++98. Definition in file char.h.
#define RB_NUM2CHR rb_num2char_inline |
Just another name of rb_num2char_inline.
|
inlinestatic |
Converts a C's unsigned char
into an instance of rb_cInteger.
[in] | c | Arbitrary unsigned char value. |
|
inlinestatic |
Converts an instance of rb_cNumeric into C's char
.
At the same time it accepts a String of more than one character, and returns its first byte. In the early days there was a Ruby level "character" literal ?c
, which roughly worked this way.
[in] | x | Either a string or a numeric. |
rb_eTypeError | x is not a numeric. |
rb_eRangeError | x is out of range of unsigned int . |
char
.