Class: Node::ARRAY
- Defined in:
- ext/internal/node/nodeinfo.c,
lib/internal/node/to_a.rb,
lib/internal/node/as_expression.rb,
ext/internal/node/nodeinfo.c,
ext/cached/ruby-1.8.4/internal/node/nodeinfo.c,
ext/cached/ruby-1.8.4/internal/node/nodeinfo.c,
ext/cached/ruby-1.8.5/internal/node/nodeinfo.c,
ext/cached/ruby-1.8.5/internal/node/nodeinfo.c,
ext/cached/ruby-1.8.6/internal/node/nodeinfo.c,
ext/cached/ruby-1.8.6/internal/node/nodeinfo.c,
ext/cached/ruby-1.8.7/internal/node/nodeinfo.c,
ext/cached/ruby-1.8.7/internal/node/nodeinfo.c,
ext/cached/ruby-1.9.1/internal/node/nodeinfo.c,
ext/cached/ruby-1.9.1/internal/node/nodeinfo.c,
ext/cached/ruby-1.9.2/internal/node/nodeinfo.c,
ext/cached/ruby-1.9.2/internal/node/nodeinfo.c,
ext/cached/ruby-1.9.3/internal/node/nodeinfo.c,
ext/cached/ruby-1.9.3/internal/node/nodeinfo.c
Overview
Represents an array of elements. Evaluation of this node creates a new Array by evalating the given expressions and placing them into the array.
Class Method Summary collapse
-
.members ⇒ Array
Return an array of strings containing the names of the node class’s members.
Instance Method Summary collapse
-
#alen ⇒ Object
Return the Node’s alen member.
- #as_expression_impl(node, brackets = true) ⇒ Object
-
#head ⇒ Object
Return the Node’s head member.
-
#next ⇒ Object
Return the Node’s next member.
- #to_a ⇒ Object
Methods inherited from Node
#[], #_dump, _load, #address, #as_code, #as_expression, #as_paren_expression, #bytecode_compile, compile_string, define_code, define_expression, #eval, #flags, #inspect, #members, #nd_file, #nd_line, #nd_type, #obfusc, #pretty_print, #swap, #tree, type
Class Method Details
.members ⇒ Array
Return an array of strings containing the names of the node class’s members.
2793 2794 2795 2796 |
# File 'ext/internal/node/nodeinfo.c', line 2793
VALUE node_s_members(VALUE klass)
{
return rb_iv_get(klass, "__member__");
}
|
Instance Method Details
#alen ⇒ Object
Return the Node’s alen member. The return type is an Integer.
2012 2013 2014 2015 2016 2017 |
# File 'ext/internal/node/nodeinfo.c', line 2012
static VALUE node_alen(VALUE self)
{
NODE * n;
Data_Get_Struct(self, NODE, n);
return LONG2NUM(n->nd_alen);
}
|
#as_expression_impl(node, brackets = true) ⇒ Object
108 109 110 111 112 113 |
# File 'lib/internal/node/as_expression.rb', line 108 def as_expression_impl(node, brackets = true) s = brackets ? '[' : '' s << (node.to_a.map { |n| n.as_expression }.join(', ')) s << (brackets ? ']' : '') s end |
#head ⇒ Object
Return the Node’s head member. The return type is either a Node or an Object.
2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 |
# File 'ext/internal/node/nodeinfo.c', line 2335
static VALUE node_head(VALUE self)
{
NODE * n;
Data_Get_Struct(self, NODE, n);
if(TYPE(n->nd_head) == T_NODE)
{
if(0 && nd_type(n) == NODE_OP_ASGN2)
{
return wrap_node_as(
(NODE *)n->nd_head,
rb_cNodeSubclass[NODE_OP_ASGN2_ARG]);
}
else
{
return wrap_node((NODE *)n->nd_head);
}
}
else
{
return (VALUE)n->nd_head;
}
}
|
#next ⇒ Object
Return the Node’s next member. The return type is either a Node or an Object.
2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 |
# File 'ext/internal/node/nodeinfo.c', line 2437
static VALUE node_next(VALUE self)
{
NODE * n;
Data_Get_Struct(self, NODE, n);
if(TYPE(n->nd_next) == T_NODE)
{
if(1 && nd_type(n) == NODE_OP_ASGN2)
{
return wrap_node_as(
(NODE *)n->nd_next,
rb_cNodeSubclass[NODE_OP_ASGN2_ARG]);
}
else
{
return wrap_node((NODE *)n->nd_next);
}
}
else
{
return (VALUE)n->nd_next;
}
}
|
#to_a ⇒ Object
4 5 6 7 8 9 10 11 12 |
# File 'lib/internal/node/to_a.rb', line 4 def to_a a = [] e = self while e do a << e.head e = e.next end a end |