NAME

Quiq::Tree - Operatonen auf Baumstrukturen

BASE CLASS

Quiq::Object

METHODS

Methoden

leafPaths() - Liste der Pfade

Synopsis

@paths|$pathA = $class->leafPaths($ref);

Arguments

$ref

Referenz auf hierarchische Datenstruktur

Description

Liefere die Liste der Pfade zu den Blattknoten der Datenstruktur $ref. Diese Liste kann nützlich sein, um die Zugriffspfade zu den Blättern einer hierarchischen Datenstruktur zu ermitteln.

removeEmptyNodes() - Entferne alle leeren Knoten

Synopsis

$class->removeEmptyNodes($ref);

Arguments

$ref

Referenz auf hierarchische Datenstruktur

Description

Durchlaufe die Datenstruktur $ref rekursiv und entferne alle leeren Knoten.

Ein Blattknoten ist leer, wenn wenn sein Wert undef ist.

Ein Hashknoten ist leer, wenn der Hash kein Element enthält.

Ein Arrayknoten ist leer, wenn er kein Element enthält.

setLeafValue() - Setze den Wert von Blattknoten

Synopsis

$class->setLeafValue($ref,$sub);

Arguments

$ref

Referenz auf hierarchische Datenstruktur

$sub

Referenz auf Subroutine, die für jeden Blattknoten gerufen wird.

Description

Durchlaufe die Datenstruktur $ref rekursiv, rufe auf allen Blattknoten die Subroutine $sub mit dem aktuellen Wert des Knotens auf und setze auf dem Knoten den gelieferten Wert.

Ein Blattknoten des Baums ist dadurch gekennzeichner, dass er einen "einfachen" skalaren Wert besitzt, also auf keine Substruktur verweist (Hash- oder Array-Referenz).

substitutePlaceholders() - Ersetze Platzhalter

Synopsis

$class->substitutePlaceholders($ref,@keyVal);

Arguments

$ref

Referenz auf hierarchische Datenstruktur

@kayVal

Liste der Platzhalter und ihrer Werte

Description

Durchlaufe die Datenstruktur $ref rekursiv und ersetze auf den Blattknoten die Platzhalter durch ihre Werte.

VERSION

1.223

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2024 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.