Flags for string nodes.
“foo #{bar}” ^^^^^^^^^^^^
“foo #{bar}” ^^^^^^^^^^^^
Represents the use of the ‘&&=` operator for assignment to an instance variable.
@target &&= value ^^^^^^^^^^^^^^^^^
Represents the use of the ‘||=` operator for assignment to an instance variable.
@target ||= value ^^^^^^^^^^^^^^^^^
Represents assigning to an instance variable using an operator that isn’t ‘=`.
@target += value ^^^^^^^^^^^^^^^^
Helper methods for both Gem::Installer
and Gem::Uninstaller
This exception is raised if the nesting of parsed data structures is too deep.
The InstructionSequence
class represents a compiled sequence of instructions for the Virtual Machine used in MRI. Not all implementations of Ruby may implement this class, and for the implementations that implement it, the methods defined and behavior of the methods can change in any version.
With it, you can get a handle to the instructions that make up a method or a proc, compile strings of Ruby code down to VM instructions, and disassemble instruction sequences to strings for easy inspection. It is mostly useful if you want to learn how YARV works, but it also lets you control various settings for the Ruby iseq compiler.
You can find the source for the VM instructions in insns.def
in the Ruby source.
The instruction sequence results will almost certainly change as Ruby changes, so example output in this documentation may be different from what you see.
Of course, this class is MRI specific.
Exception
raised when there is an invalid encoding detected
Response class for URI Too Long
responses (status code 414).
The URI
provided was too long for the server to process.
References:
PrettyPrint::SingleLine
is used by PrettyPrint.singleline_format
It is passed to be similar to a PrettyPrint
object itself, by responding to:
but instead, the output has no line breaks
Represents writing to an instance variable in a context that doesn’t have an explicit value.
@foo, @bar = baz ^^^^ ^^^^
Represents a regular expression literal that contains interpolation that is being used in the predicate of a conditional to implicitly match against the last line read by an IO
object.
if /foo #{bar} baz/ then end ^^^^^^^^^^^^^^^^
Keeps track of what elements are in the queue in priority and also ensures that when one element engulfs/covers/eats another that the larger element evicts the smaller element
AbstractSyntaxTree
provides methods to parse Ruby code into abstract syntax trees. The nodes in the tree are instances of RubyVM::AbstractSyntaxTree::Node
.
This module is MRI specific as it exposes implementation details of the MRI abstract syntax tree.
This module is experimental and its API is not stable, therefore it might change without notice. As examples, the order of children nodes is not guaranteed, the number of children nodes might change, there is no way to access children nodes by name, etc.
If you are looking for a stable API or an API working under multiple Ruby implementations, consider using the prism gem, which is the official Ruby API to parse Ruby code.
OpenSSL
IO
buffering mix-in module.
This module allows an OpenSSL::SSL::SSLSocket
to behave like an IO
.
You typically won’t use this module directly, you can see it implemented in OpenSSL::SSL::SSLSocket
.
An Integer object represents an integer value.
You can create an Integer object explicitly with:
An integer literal.
You can convert certain objects to Integers with:
Method Integer
.
An attempt to add a singleton method to an instance of this class causes an exception to be raised.
First, what’s elsewhere. Class Integer:
Inherits from class Numeric and class Object.
Includes module Comparable.
Here, class Integer provides methods for:
allbits?
: Returns whether all bits in self
are set.
anybits?
: Returns whether any bits in self
are set.
nobits?
: Returns whether no bits in self
are set.
<
: Returns whether self
is less than the given value.
<=
: Returns whether self
is less than or equal to the given value.
<=>
: Returns a number indicating whether self
is less than, equal to, or greater than the given value.
==
(aliased as ===
): Returns whether self
is equal to the given
value.
>
: Returns whether self
is greater than the given value.
>=
: Returns whether self
is greater than or equal to the given value.
::sqrt
: Returns the integer square root of the given value.
::try_convert
: Returns the given value converted to an Integer.
&
: Returns the bitwise AND of self
and the given value.
*
: Returns the product of self
and the given value.
**
: Returns the value of self
raised to the power of the given value.
+
: Returns the sum of self
and the given value.
-
: Returns the difference of self
and the given value.
/
: Returns the quotient of self
and the given value.
<<
: Returns the value of self
after a leftward bit-shift.
>>
: Returns the value of self
after a rightward bit-shift.
[]
: Returns a slice of bits from self
.
^
: Returns the bitwise EXCLUSIVE OR of self
and the given value.
|
: Returns the bitwise OR of self
and the given value.
ceil
: Returns the smallest number greater than or equal to self
.
chr
: Returns a 1-character string containing the character represented by the value of self
.
digits
: Returns an array of integers representing the base-radix digits of self
.
div
: Returns the integer result of dividing self
by the given value.
divmod
: Returns a 2-element array containing the quotient and remainder results of dividing self
by the given value.
fdiv
: Returns the Float
result of dividing self
by the given value.
floor
: Returns the greatest number smaller than or equal to self
.
pow
: Returns the modular exponentiation of self
.
pred
: Returns the integer predecessor of self
.
remainder
: Returns the remainder after dividing self
by the given value.
round
: Returns self
rounded to the nearest value with the given precision.
succ
(aliased as next
): Returns the integer successor of self
.
to_s
(aliased as inspect
): Returns a string containing the place-value representation of self
in the given radix.
truncate
: Returns self
truncated to the given precision.