pub enum Ruby {
Show 21 variants
Array,
Bool,
Class,
CPointer,
Data,
Exception,
Fiber,
Fixnum,
Float,
Hash,
InlineStruct,
Module,
Nil,
Object,
Proc,
Range,
SingletonClass,
String,
Symbol,
Unreachable,
RecursiveSelfOwnership,
}
Expand description
Classes of Ruby types.
Variants§
Array
Ruby Array
type.
Bool
Ruby TrueClass
and FalseClass
type.
Class
Ruby Class
type.
CPointer
FFI type for a borrowed C pointer.
Data
FFI type for an owned C pointer.
Exception
Ruby Exception
type.
Fiber
Ruby Fiber
type.
Fixnum
Ruby Fixnum
type.
Fixnum
is a type of Integer
which represents numbers from
[-u64::MAX, us64::MAX]
. Fixnum
s have a special algorithm for
object IDs: 2 * self - 1
.
Float
Ruby Float
type.
Hash
Ruby Hash
type.
Similar to a HashMap
, but iterates by insertion order.
InlineStruct
Internal type for non-heap allocated structs.
Module
Ruby Module
type.
Nil
Ruby nil
singleton type, the only instance of NilClass
.
Object
Ruby Object
type.
This type represents instances of classes defined in the Artichoke VM.
Proc
Ruby Proc
type.
Proc
is a callable closure that captures lexical scope. Proc
s can
be arbitrary arity and may or may not enforce this arity when called.
Range
Ruby Range
type.
Similar to a Rust iterator.
SingletonClass
Internal type for the singleton class of an object.
String
Ruby String
type.
In Artichoke, String
s have a limited set of encodings. A String
can
be UTF-8, maybe UTF-8, or binary.
Symbol
Ruby Symbol
type.
An interned String
. Symbols are never freed by the interpreter.
Unreachable
Unreachable interpreter value. Receiving one of these from the interpreter is a bug.
RecursiveSelfOwnership
A special Value
that is a placeholder for collections that own
themselves.