struct NBT::Tag

Defined in:

nbt.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(raw : Type) #

Creates a NBT::Tag that wraps the given Type.


[View source]

Instance Method Detail

def ==(other : self) #

Returns true if both self and other's raw object are equal.


[View source]
def ==(other) #

Returns true if the raw object is equal to other.


[View source]
def [](index_or_key) : self #

Assumes the underlying value is an Array or Hash and returns the element at the given index_or_key.

Raises if the underlying value is not an Array nor a Hash.


[View source]
def []?(index_or_key) : self | Nil #

Assumes the underlying value is an Array or Hash and returns the element at the given index_or_key, or nil if out of bounds or the key is missing.

Raises if the underlying value is not an Array nor a Hash.


[View source]
def as_a : Array(self) #

Checks that the underlying value is Array(self), and returns its value. Raises otherwise.


def as_a? : Array(self) | Nil #

Checks that the underlying value is Array(self), and returns its value. Returns nil otherwise.


def as_b : Int8 #

Checks that the underlying value is Int8, and returns its value. Raises otherwise.


def as_b? : Int8 | Nil #

Checks that the underlying value is Int8, and returns its value. Returns nil otherwise.


def as_b_a : Array(Int8) #

Checks that the underlying value is Array(Int8), and returns its value. Raises otherwise.


def as_b_a? : Array(Int8) | Nil #

Checks that the underlying value is Array(Int8), and returns its value. Returns nil otherwise.


def as_d : Float64 #

Checks that the underlying value is Float64, and returns its value. Raises otherwise.


def as_d? : Float64 | Nil #

Checks that the underlying value is Float64, and returns its value. Returns nil otherwise.


def as_f : Float32 #

Checks that the underlying value is Float32, and returns its value. Raises otherwise.


def as_f? : Float32 | Nil #

Checks that the underlying value is Float32, and returns its value. Returns nil otherwise.


def as_h : Hash(String, self) #

Checks that the underlying value is Hash(String, self), and returns its value. Raises otherwise.


def as_h? : Hash(String, self) | Nil #

Checks that the underlying value is Hash(String, self), and returns its value. Returns nil otherwise.


def as_i : Int32 #

Checks that the underlying value is Int32, and returns its value. Raises otherwise.


def as_i? : Int32 | Nil #

Checks that the underlying value is Int32, and returns its value. Returns nil otherwise.


def as_i_a : Array(Int32) #

Checks that the underlying value is Array(Int32), and returns its value. Raises otherwise.


def as_i_a? : Array(Int32) | Nil #

Checks that the underlying value is Array(Int32), and returns its value. Returns nil otherwise.


def as_long : Int64 #

Checks that the underlying value is Int64, and returns its value. Raises otherwise.


def as_long? : Int64 | Nil #

Checks that the underlying value is Int64, and returns its value. Returns nil otherwise.


def as_long_a : Array(Int64) #

Checks that the underlying value is Array(Int64), and returns its value. Raises otherwise.


def as_long_a? : Array(Int64) | Nil #

Checks that the underlying value is Array(Int64), and returns its value. Returns nil otherwise.


def as_s : NBT::NBTString #

Checks that the underlying value is NBT::NBTString, and returns its value. Raises otherwise.


def as_s? : NBT::NBTString | Nil #

Checks that the underlying value is NBT::NBTString, and returns its value. Returns nil otherwise.


def as_short : Int16 #

Checks that the underlying value is Int16, and returns its value. Raises otherwise.


def as_short? : Int16 | Nil #

Checks that the underlying value is Int16, and returns its value. Returns nil otherwise.


def as_tag_end : Nil #

Checks that the underlying value is Nil, and returns its value. Raises otherwise.


def clone #

Returns a new NBT::Tag instance with the #raw value #cloneed.


[View source]
def dig(index_or_key, *subkeys) : self #

Traverses the depth of a structure and returns the value, otherwise raises.


[View source]
def dig?(index_or_key, *subkeys) : self | Nil #

Traverses the depth of a structure and returns the value. Returns nil if not found.


[View source]
def dup #

Returns a new NBT::Tag instance with the #raw value #duped.


[View source]
def hash(hasher) #

See Object#hash(hasher)


def inspect(io : IO) : Nil #
Description copied from struct Struct

Appends this struct's name and instance variables names and values to the given IO.

struct Point
  def initialize(@x : Int32, @y : Int32)
  end
end

p1 = Point.new 1, 2
p1.to_s    # "Point(@x=1, @y=2)"
p1.inspect # "Point(@x=1, @y=2)"

[View source]
def raw : Type #

Returns the raw underlying value, a Type.


def size : Int #

Assumes the underlying value is an Array or Hash and returns its size.

Raises if the underlying value is not an Array or Hash.


[View source]
def to_json(json : JSON::Builder) #

[View source]
def to_s(io : IO) : Nil #
Description copied from struct Struct

Same as #inspect(io).


[View source]