class Crystal::Macros::ArrayLiteral

Overview

An array literal.

Defined in:

compiler/crystal/macros.cr

Instance Method Summary

Instance methods inherited from class Crystal::Macros::ASTNode

!=(other : ASTNode) : BoolLiteral !=, ==(other : ASTNode) : BoolLiteral ==, class_name : StringLiteral class_name, column_number : StringLiteral | NilLiteral column_number, end_column_number : StringLiteral | NilLiteral end_column_number, end_line_number : StringLiteral | NilLiteral end_line_number, filename : StringLiteral | NilLiteral filename, id : MacroId id, line_number : StringLiteral | NilLiteral line_number, raise(message) : NoReturn raise, stringify : StringLiteral stringify

Instance methods inherited from class Reference

==(other : self)
==(other)
==
, dup dup, hash hash, inspect(io : IO) : Nil inspect, object_id : UInt64 object_id, pretty_print(pp) : Nil pretty_print, same?(other : Reference)
same?(other : Nil)
same?
, to_s(io : IO) : Nil to_s

Class methods inherited from class Reference

new new

Instance methods inherited from class Object

!=(other) !=, !~(other) !~, ==(other) ==, ===(other : JSON::Any)
===(other : YAML::Any)
===(other)
===
, =~(other) =~, class class, dup dup, hash hash, inspect(io : IO)
inspect
inspect
, itself itself, not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, tap(&block) tap, to_json(io : IO)
to_json
to_json
, to_pretty_json(indent : String = " ")
to_pretty_json(io : IO, indent : String = " ")
to_pretty_json
, to_s
to_s(io : IO)
to_s
, to_yaml(io : IO)
to_yaml
to_yaml
, try(&block) try

Class methods inherited from class Object

from_json(string_or_io, root : String) : self
from_json(string_or_io) : self
from_json
, from_yaml(string_or_io) : self from_yaml

Instance Method Detail

def +(other : ArrayLiteral) : ArrayLiteral #

Similar to Array#+.


[View source]
def [](index : NumberLiteral) : ASTNode #

Similar to Array#[], but returns NilLiteral on out of bounds.


[View source]
def []=(index : NumberLiteral, value : ASTNode) #

Similar to Array#[]=.


[View source]
def all?(&block) : BoolLiteral #

Similar to Enumerable#all?


[View source]
def any?(&block) : BoolLiteral #

Similar to Enumerable#any?


[View source]
def empty? : BoolLiteral #

Similar to Array#empty?


[View source]
def find(&block) : ASTNode | NilLiteral #

Similar to Enumerable#find


[View source]
def first : ASTNode | NilLiteral #

Similar to Array#first, but returns a NilLiteral if the array is empty.


[View source]
def includes?(node : ASTNode) : BoolLiteral #

[View source]
def join(separator) : StringLiteral #

Similar to Enumerable#join


[View source]
def last : ASTNode | NilLiteral #

Similar to Array#last, but returns a NilLiteral if the array is empty.


[View source]
def map(&block) : ArrayLiteral #

Similar to Enumerable#map


[View source]
def of : ASTNode | Nop #

Returns the type specified at the end of the array literal, if any.

This refers to the part after brackets in [] of String.


[View source]
def reject(&block) : ArrayLiteral #

[View source]
def select(&block) : ArrayLiteral #

[View source]
def shuffle : ArrayLiteral #

Similar to Array#shuffle


[View source]
def size : NumberLiteral #

Similar to Array#size


[View source]
def sort : ArrayLiteral #

Similar to Array#sort


[View source]
def splat(trailing_string : StringLiteral = nil) : MacroId #

Returns a MacroId with all of this array's elements joined by commas.

If trailing_string is given, it will be appended to the result unless this array is empty. This lets you splat an array and optionally write a trailing comma if needed.


[View source]
def type : Path | Nop #

Returns the type that receives the items of the array.

This refers to the part before brackets in MyArray{1, 2, 3}


[View source]
def uniq : ArrayLiteral #

Similar to Array#uniq


[View source]