Ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e0ba6b95ab71a441357ed5484e33498)
|
#include "ruby/internal/config.h"
#include <stdarg.h>
#include "defines.h"
#include "ruby/internal/anyargs.h"
#include "ruby/internal/arithmetic.h"
#include "ruby/internal/core.h"
#include "ruby/internal/ctype.h"
#include "ruby/internal/dllexport.h"
#include "ruby/internal/error.h"
#include "ruby/internal/eval.h"
#include "ruby/internal/event.h"
#include "ruby/internal/fl_type.h"
#include "ruby/internal/gc.h"
#include "ruby/internal/glob.h"
#include "ruby/internal/globals.h"
#include "ruby/internal/has/warning.h"
#include "ruby/internal/interpreter.h"
#include "ruby/internal/iterator.h"
#include "ruby/internal/memory.h"
#include "ruby/internal/method.h"
#include "ruby/internal/module.h"
#include "ruby/internal/newobj.h"
#include "ruby/internal/rgengc.h"
#include "ruby/internal/scan_args.h"
#include "ruby/internal/special_consts.h"
#include "ruby/internal/symbol.h"
#include "ruby/internal/value.h"
#include "ruby/internal/value_type.h"
#include "ruby/internal/variable.h"
#include "ruby/assert.h"
#include "ruby/backward/2/assume.h"
#include "ruby/backward/2/inttypes.h"
#include "ruby/backward/2/limits.h"
#include "ruby/intern.h"
#include "ruby/subst.h"
#include "ruby/backward.h"
Go to the source code of this file.
Macros | |
#define | USE_SYMBOL_AS_METHOD_NAME 1 |
#define | FilePathValue(v) (RB_GC_GUARD(v) = rb_get_path(v)) |
Ensures that the parameter object is a path. More... | |
#define | FilePathStringValue(v) ((v) = rb_get_path(v)) |
#define | RUBY_VM 1 /* YARV */ |
#define | HAVE_NATIVETHREAD |
#define | InitVM(ext) {void InitVM_##ext(void);InitVM_##ext();} |
This macro is for internal use. More... | |
Functions | |
VALUE | rb_get_path (VALUE obj) |
Converts an object to a path. More... | |
VALUE | rb_get_path_no_checksafe (VALUE) |
const char * | rb_class2name (VALUE klass) |
Queries the name of the passed class. More... | |
const char * | rb_obj_classname (VALUE obj) |
Queries the name of the class of the passed object. More... | |
void | rb_p (VALUE obj) |
Inspects an object. More... | |
VALUE | rb_equal (VALUE lhs, VALUE rhs) |
This function is an optimised version of calling #== . More... | |
VALUE | rb_require (const char *feature) |
Identical to rb_require_string(), except it takes C's string instead of Ruby's. More... | |
int | ruby_native_thread_p (void) |
Queries if the thread which calls this function is a ruby's thread. More... | |
int | ruby_snprintf (char *str, size_t n, char const *fmt,...) |
Our own locale-insensitive version of snprintf(3) . More... | |
int | ruby_vsnprintf (char *str, size_t n, char const *fmt, va_list ap) |
Identical to ruby_snprintf(), except it takes a va_list . More... | |
Definition in file ruby.h.
#define FilePathStringValue | ( | v | ) | ((v) = rb_get_path(v)) |
#define FilePathValue | ( | v | ) | (RB_GC_GUARD(v) = rb_get_path(v)) |
#define HAVE_NATIVETHREAD |
#define InitVM | ( | ext | ) | {void InitVM_##ext(void);InitVM_##ext();} |
#define RUBY_VM 1 /* YARV */ |
#define USE_SYMBOL_AS_METHOD_NAME 1 |
const char * rb_class2name | ( | VALUE | klass | ) |
Queries the name of the passed class.
[in] | klass | An instance of a class. |
klass
. Definition at line 300 of file variable.c.
Referenced by rb_obj_classname(), and rb_profile_frame_classpath().
Converts an object to a path.
It first tries #to_path
method if any, then falls back to #to_str
method.
[in] | obj | Arbitrary ruby object. |
rb_eArgError | obj contains a NUL byte. |
rb_eTypeError | obj is not path-ish. |
rb_eEncCompatError | No encoding conversion from obj to path. |
Definition at line 245 of file file.c.
Referenced by rb_find_file(), rb_find_file_ext(), and rb_get_path_no_checksafe().
const char * rb_obj_classname | ( | VALUE | obj | ) |
Queries the name of the class of the passed object.
[in] | obj | Arbitrary ruby object. |
obj
. Definition at line 309 of file variable.c.
void rb_p | ( | VALUE | obj | ) |
VALUE rb_require | ( | const char * | feature | ) |
Identical to rb_require_string(), except it takes C's string instead of Ruby's.
[in] | feature | Name of a feature, e.g. "json" . |
rb_eLoadError | No such feature. |
rb_eRuntimeError | $"</tt> is frozen; unable to push.
@retval RUBY_Qtrue The feature is loaded for the first time.
@retval RUBY_Qfalse The feature has already been loaded.
@post <tt>$" is updated. |
int ruby_native_thread_p | ( | void | ) |
Queries if the thread which calls this function is a ruby's thread.
"Ruby's" in this context is a thread created using one of our APIs like rb_thread_create(). There are distinctions between ruby's and other threads. For instance calling ruby methods are allowed only from inside of a ruby's thread.
1 | The current thread is a Ruby's thread. |
0 | The current thread is a random thread from outside of Ruby. |
int ruby_snprintf | ( | char * | str, |
size_t | n, | ||
char const * | fmt, | ||
... | |||
) |
Our own locale-insensitive version of snprintf(3)
.
It can also be seen as a routine identical to rb_sprintf(), except it writes back to the passed buffer instead of allocating a new Ruby object.
[out] | str | Return buffer |
[in] | n | Number of bytes of str . |
[in] | fmt | A printf -like format specifier. |
[in] | ... | Variadic number of contents to format. |
str
, if n
was large enough. Comparing this to n
can give you insights that the buffer is too small or too big. Especially passing 0 to n
gives you the exact number of bytes necessary to hold the result string without writing anything to anywhere. str
holds up to n-1
bytes of formatted contents (and the terminating NUL character.) int ruby_vsnprintf | ( | char * | str, |
size_t | n, | ||
char const * | fmt, | ||
va_list | ap | ||
) |
Identical to ruby_snprintf(), except it takes a va_list
.
It can also be seen as a routine identical to rb_vsprintf(), except it writes back to the passed buffer instead of allocating a new Ruby object.
[out] | str | Return buffer |
[in] | n | Number of bytes of str . |
[in] | fmt | A printf -like format specifier. |
[in] | ap | Contents to format. |
str
, if n
was large enough. Comparing this to n
can give you insights that the buffer is too small or too big. Especially passing 0 to n
gives you the exact number of bytes necessary to hold the result string without writing anything to anywhere. str
holds up to n-1
bytes of formatted contents (and the terminating NUL character.)