Ich mag struct in der mi Klasse in perl.In Fall, dass jemand erklären, diese Funktion nicht wissen: http://perldoc.perl.org/Class/Struct.html Und dies ist mein Code:Declare Struktur in der Klasse Perl
package object;
sub new{
my $class = shift;
struct('object', { hashMap => '%', array => '@' });
my $self = {
'object::hashMap' => shift ,
'object::array' => shift ,
_toret => shift // 0,
};
$self->{_toret} = new object;
return bless $self, $class;
}
, wenn ich meine hasMap will aus struct, ich sollte ein Objekt dieses struct nennen, aber ich möchte es nicht in einer Funktion deklarieren, weil ich die Daten jedes Mal verliere, wenn ich die Funktion verweise. Und deshalb deklariere ich es in der Klasse. Das Problem ist, dass, wenn ich die Funktion tun, um die hasMap zu bekommen diese mir Fehler gibt und sagt mir, dass es
sub get{
my($self) [email protected]_;
return $self->{_toret}->hashMap;
}
Hashmap verwiesen werden cann't ich hoffe, dass Sie mir helfen können. Vielen Dank!!
Was meinen Sie mit '$ self -> {_ toret} => neues Objekt;'? Meinst du stattdessen "="? – choroba
Der Aufruf von 'new object' aus' object :: new' riecht nach unendlicher Rekursion. – choroba
ohh ja !! ist $ self -> {_ toret} = neues Objekt; Es ist ein Fehler, scheitert aber immer noch –