NAME
Quiq::Properties - Eigenschaften einer Menge von skalaren Werten
BASE CLASS
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 (String), 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).
- multiLine
-
Boolscher Wert, der angibt, ob die Wertemenge wenigstens einen mehrzeiligen Wert enthält.
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
Options
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.
multiLine() - Mehrzeilige Werte?
Synopsis
$bool = $prp->multiLine;
Returns
Boolean
Description
Liefere wahr (1), wenn die Wertemenge mehrzeilige Werte enthält, andernfalls falsch (0). Kann nur für eine Wertemenge vom Typ s wahr sein.
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 ist die Länge des längsten Werts.
Die Breite einer Wertemenge des Typs s ist die Länge der längsten Zeile eines 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
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.171
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2020 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.