Skip to content

class Crystal::Macros::HashLiteral
inherits Crystal::Macros::ASTNode

A hash literal.

Methods

#[](key : ASTNode) : ASTNode

Similar to Hash#[]

View source

#[]=(key : ASTNode, value : ASTNode) : ASTNode

Similar to Hash#[]=

View source

#clear : HashLiteral

Similar to Hash#clear

View source

#double_splat(trailing_string : StringLiteral = nil) : MacroId

Returns a MacroId with all of this hash elements joined by commas.

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

View source

#each(&) : Nil

Similar to Hash#each

View source

#empty? : BoolLiteral

Similar to Hash#empty?

View source

#keys : ArrayLiteral

Similar to Hash#keys

View source

#map : ArrayLiteral

Similar to Hash#map

View source

#of_key : ASTNode | Nop

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

This refers to the key type after brackets in {} of String => Int32.

View source

#of_value : ASTNode | Nop

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

This refers to the value type after brackets in {} of String => Int32.

View source

#size : NumberLiteral

Similar to Hash#size

View source

#type : Path | Nop

Returns the type that receives the items of the array.

This refers to the part before brackets in MyHash{'a' => 1, 'b' => 2}

View source

#values : ArrayLiteral

Similar to Hash#values

View source