Thread delete $array[$i] (8 answers)
Opened by rosti at 2018-12-10 19:05

rosti
 2018-12-12 10:23
#189387 #189387
User since
2011-03-19
3492 Artikel
BenutzerIn
[Homepage]
user image
In Tie-Klassen geht das leider nicht über die gebundene Variable, denn dafür stehen nur die vordefinierten Funktionen wie DELETE zur Verfügung.

Was man aber machen kann ist der Aufruf einer Funktion über die Instanz. Letztere muss vorher herausgezogn werden:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use Data::Dumper;
$Data::Dumper::Sortkeys = 1;
use strict;
use warnings;
use Tie::Array;
use base qw(Tie::StdArray);



tie my @arr, 'main';
@arr = qw(foo bar baz);

# Extrahiere die Instanz
tied(@arr)->rm(0); # remove alias delete

print Dumper \@arr;

sub rm{
    my $self = shift;
    my $idx  = shift;
    splice @$self, $idx, 1;
}





MfG

.
Last edited: 2018-12-12 10:24:44 +0100 (CET)

View full thread delete $array[$i]