Revision 66022cbd
Von Sven Schöling vor etwa 15 Jahren hinzugefügt
SL/MoreCommon.pm | ||
---|---|---|
return 0;
|
||
}
|
||
|
||
=item cross BLOCK ARRAY ARRAY
|
||
|
||
Evaluates BLOCK for each combination of elements in ARRAY1 and ARRAY2
|
||
and returns a new list consisting of BLOCK's return values.
|
||
The two elements are set to $a and $b.
|
||
Note that those two are aliases to the original value so changing them
|
||
will modify the input arrays.
|
||
|
||
# append each to each
|
||
@a = qw/a b c/;
|
||
@b = qw/1 2 3/;
|
||
@x = cross { "$a$b" } @a, @b;
|
||
# returns a1, a2, a3, b1, b2, b3, c1, c2, c3
|
||
|
||
As cross expects an array but returns a list it is not directly chainable
|
||
at the moment. This will be corrected in the future.
|
||
|
||
=cut
|
||
sub cross(&\@\@) {
|
||
my $op = shift;
|
||
use vars qw/@A @B/;
|
||
... | ... | |
}
|
||
|
||
1;
|
||
|
||
__END__
|
||
|
||
=head1 NAME
|
||
|
||
SL::MoreCommon.pm - helper functions
|
||
|
||
=head1 DESCRIPTION
|
||
|
||
this is a collection of helper functions used in Lx-Office.
|
||
Most of them are either obvious or too obscure to care about unless you really have to.
|
||
The exceptions are documented here.
|
||
|
||
=head2 FUNCTIONS
|
||
|
||
=over 4
|
||
|
||
=item save_form
|
||
=item restore_form
|
||
|
||
A lot of the old sql-ledger routines are strictly procedural. They search for params in the $form object, do stuff with it, and return a status code.
|
||
|
||
Once in a while you'll want something from such a function without altering $form. Yeah, you could rewrite the routine from scratch... not. Just save you form, execute the routine, grab your results, and restore the previous form while you curse at the original design.
|
||
|
||
=item cross BLOCK ARRAY ARRAY
|
||
|
||
Evaluates BLOCK for each combination of elements in ARRAY1 and ARRAY2
|
||
and returns a new list consisting of BLOCK's return values.
|
||
The two elements are set to $a and $b.
|
||
Note that those two are aliases to the original value so changing them
|
||
will modify the input arrays.
|
||
|
||
# append each to each
|
||
@a = qw/a b c/;
|
||
@b = qw/1 2 3/;
|
||
@x = cross { "$a$b" } @a, @b;
|
||
# returns a1, a2, a3, b1, b2, b3, c1, c2, c3
|
||
|
||
As cross expects an array but returns a list it is not directly chainable
|
||
at the moment. This will be corrected in the future.
|
||
|
||
=back
|
||
|
||
=cut
|
Auch abrufbar als: Unified diff
Dokumentation einheitlich in den Footer verschoben, Datei mit END abgeschlossen (beschleunigt parsen), und POD Fehler gefixt.