The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Quiq::Properties - Eigenschaften einer Menge von skalaren Werten

BASE CLASS

Quiq::Object

DESCRIPTION

Ein Objekt der Klasse ist Träger von Information über eine Menge von skalaren Werten (Integer, Float, String). Die Information ist nützlich, wenn die Menge der Werte tabellarisch dargestellt werden soll.

ATTRIBUTES

type

Typ der Wertemenge: s (Text), f (Float), d (Integer).

width

Breite des breitesten Werts der Wertemenge.

floatPrefix

Maximale Anzahl an Zeichen einer Fließkommazahl vor und einschließlich dem Punkt. Dieses Attribut wird nur intern gebraucht, um die maximale Breite einer Fließkommazahl zu bestimmen.

scale

Maximale Anzahl an Nachkommastellen im Falle einer Wertemenge vom Typ f (Float).

align

Ausrichtung der Werte der Wertemenge: l (left), r (right).

EXAMPLE

Erzeuge eine formatierte Liste von Float-Werten:

    my @values = (
        234.567,
          5.45,
      92345.6,
         42.56739,
    );
    
    my $prp = Quiq::Properties->new(\@values);
    
    my $text;
    for (@values) {
        $text .= $prp->format('text',$_)."\n";
    }
    print $text;
    
    __END__
      234.56700
        5.45000
    92345.60000
       42.56739

METHODS

Klassenmethoden

new() - Konstruktor

Synopsis

    $prp = $class->new(@opt);
    $prp = $class->new(\@values,@opt);

Arguments

@arr

Array von skalaren Werten (Integers, Floats, Strings)

Options

-noTrailingZeros => $bool (Default: 0)

Entferne bei Floats nach dem Dezimalpunkt 0-en am Ende.

Returns

Objekt

Description

Instantiiere ein Objekt der Klasse und liefere eine Referenz auf dieses Objekt zurück. Ist als Parameter eine Referenz auf ein Array angegeben, werden dessen Werte analysiert.

Akzessoren

align() - Setze/Liefere Ausrichtung der Werte

Synopsis

    $align = $prp->align;
    $align = $prp->align($align);

Returns

Ausrichtung (Zeichen)

Description

Setze/Liefere die Ausrichtung der Werte, falls sie tabellarisch angezeigt werden sollen.

  • Eine Wertemenge vom Typ d oder f hat die Ausrichtung r.

  • Eine Wertemenge vom Typ s hat per Default die Ausrichtung l, die aber auf r geändert werden werden kann.

scale() - Maximale Anzahl Nachkommastellen

Synopsis

    $scale = $prp->scale;

Returns

Integer

Description

Liefere die Maximale Anzahl an Nachkommastellen. Diese Information hat nur im Falle des Typs f (Float) eine Bedeutung.

type() - Liefere/Setze Typ der Kolumne

Synopsis

    $type = $prp->type;
    $type = $prp->type($type);

Returns

Typbezeichner (Zeichen)

Description

Liefere den Typ der Kolumne.

  • Eine Wertmenge hat den Typ d, wenn sie ausschließlich aus Integern (und Leerstrings) besteht.

  • Eine Wertmenge hat den Typ f, wenn sie ausschließlich aus numerischen Werten (und Leerstrings) besteht und wenigstens ein numerischer Wert einen Dezimalpunkt enthält, also Nachkommastellen besitzt.

  • Eine Wertmenge hat den Typ s, wenn sie leer ist, nur aus Leerstrings besteht oder wenigsténs einen nichtnumerischen Wert enthält.

width() - Länge des längsten Werts

Synopsis

    $width = $prp->width;

Returns

Integer

Description

Liefere die Länge des längsten Werts.

  • Die Breite einer Wertemenge des Typs d oder s ist die Länge des längsten Werts.

  • Die Breite einer Wertemenge des Typs f ist die Summe aus der maximalen Anzahl an Nachkommastellen plus der maximalen Anzahl an Zeichen vor und einschließlich des Kommas.

Objektmethoden

analyze() - Füge Wert zur Analysemenge hinzu

Synopsis

    $prp->analyze($value);

Arguments

$value

Skalarer Wert (Integer, Float, String)

Description

Analysiere Wert $value hinsichtlich seiner Eigenschaften und passe die Eigenschaften der Menge entsprechend an. Ein leerer Wert (undef oder Leerstring) ändert die Eigenschaften nicht.

format() - Formatiere Wert

Synopsis

    $str = $prp->format($format,$val);

Arguments

$format

Formatierung, die auf den Wert angewendet wird. Mögliche Werte: 'text', 'html'.

$val

Skalarer Wert (Integer, Float, String) aus der Wertemenge.

Description

Formatiere Wert $val gemäß Format $format und liefere das Resultat zurück.

set() - Setze Eigenschaften explizit

Synopsis

    $prp->set($type,$align);

Arguments

$type

Typ der Wertemenge: s (Text)

$align

Ausrichtung der Werte der Wertemenge: l (left), r (right).

VERSION

1.144

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2019 Frank Seitz

LICENSE

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