Schrift
[thread]7936[/thread]

Programm mit Unterprogramm (Seite 4)



<< |< 1 2 3 4 >| >> 38 Einträge, 4 Seiten
Relais
 2006-05-04 20:17
#65499 #65499
User since
2003-08-06
2261 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Noisebreath,04.05.2006, 17:50]problem ist dass er mir bei der ausgabe (oberer Code) nur die Referenzen gibt. mach ich was falsch bei der ausgabe?[/quote]
Wenn Du nur Referenzen ausgegeben bekommst, dann verwendest Du nicht den Richtigen Weg, Deine Daten auszugeben.

Sind die Daten in Objekten mit Methoden für die Ausgabe, so solltest Du diese verwenden. Wenn es keine solchen Methoden gibt, mußt Du die Daten vermutlich eigenhändig deferenzieren.

Dazu schau Dir an, wie die Daten aussehen, entweder indem Du den Code der beteiligten Klassen verstehst (empfohlen), oder Du schaust Dir die Ergebnisse mit CPAN:Data::Dumper an (notfalls).
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop 12. bis 14. Mai 2025 in München.

Winter is Coming
Noisebreath
 2006-05-05 00:24
#65500 #65500
User since
2006-04-14
72 Artikel
BenutzerIn
[default_avatar]
dereferenziert hab ichs auch schon probiert:

Code: (dl )
   print @{$ele->spalteninfo()};

funktioniert trozdem nicht... jemand ne weitere vermutung?
renee
 2006-05-05 01:29
#65501 #65501
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Noisebreath,04.05.2006, 22:24]funktioniert trozdem nicht... jemand ne weitere vermutung?[/quote]
"Funktioniert nicht" ist nicht wirklich spezifisch. Bekommst Du eine Fehlermeldung??

Schau Dir doch mal die Ausgabe von CPAN:Data::Dumper an...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2006-05-05 01:32
#65502 #65502
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wie sieht denn Deine Klasse aus??
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Noisebreath
 2006-05-05 11:47
#65503 #65503
User since
2006-04-14
72 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/perl
package DOCUMENT;

use strict;
use warnings;

sub new {
my ( $class ) = @_;
my $self = {
parent => undef,
child  => undef,
doc_format     => undef,
name  => undef,
spalteninfo  => undef
};
bless( $self, $class );
return $self;
}

sub parent {
my ( $self, $parent ) = @_;
$self->{parent} = $parent if defined($parent);
return $self->{parent};
}

sub child {
my ( $self, $child ) = @_;
$self->{child} = $child if defined($child);
return $self->{child};
}

sub doc_format {
my ( $self, $doc_format ) = @_;
$self->{doc_format} = $doc_format if defined($doc_format);
return $self->{doc_format};
}

sub name {
my ( $self, $name ) = @_;
$self->{name} = $name if defined($name);
return $self->{name};
}

sub spalteninfo {
my ( $self, $spalteninfo ) = @_;
$self->{spalteninfo} = $spalteninfo if defined($spalteninfo);
return $self->{spalteninfo};
}

1;
\n\n

<!--EDIT|Noisebreath|1146815763-->
Noisebreath
 2006-05-05 11:54
#65504 #65504
User since
2006-04-14
72 Artikel
BenutzerIn
[default_avatar]
bin echt am ende meines lateins... ich hab schon geschafft gehabt klassenobjekte zu füllen und dann auszugeben, da hatte ich aber noch nicht die datei main.pl geschrieben in der ich den funktionsaufruf für functions.pm hab.

functions.pm
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
sub functions {

use lib qw /./;
use strict;
use warnings;
use DOCUMENT;
use material;

my $document  = shift;
my $datei     = shift;

$$document = DOCUMENT->new();
@{$document->spalteninfo(\@array)};
$$document->name(\$name);
&get_hierarchie(\$name,\@child,\@parent);
&get_format(\$doc_format);
#print "$doc_format";
${$document->doc_format(\$doc_format)};
@{$document->child(\@child)};
@{$document->parent(\@parent)};


main.pl
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for my $datei (@dateien) {
my $document;
&functions(\$document,\$datei);
push(@documentlist,$document);
}

foreach my $ele (@documentlist){
 print "spalteninfo:\t";
 print @{$ele->spalteninfo()};
 print "\n";
 print "parent:\t";
 print @{$ele->parent()};
 etc.....
 print "--------------------\n";
}

ich krieg die ausgabe einfach nicht hin..\n\n

<!--EDIT|Noisebreath|1146823824-->
Noisebreath
 2006-05-05 14:31
#65505 #65505
User since
2006-04-14
72 Artikel
BenutzerIn
[default_avatar]
habs jetzt:

Code: (dl )
1
2
3
4
5
6
7
8
${$document} = DOCUMENT->new();
${$document}->spalteninfo(\@array);
${$document}->name(\$name);
&get_hierarchie(\$name,\@child,\@parent);
&get_format(\$doc_format);
${$document}->doc_format(\$doc_format);
${$document}->child(\@child);
${$document}->parent(\@parent);


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
foreach my $ele (@documentlist){
print $ele;
print "\n";
print "spalteninfo:\t";
print @{$ele->spalteninfo()};
print "\n";
print "parent:\t";
print @{$ele->parent()};
print "\n";
print "child:\t";
print @{$ele->child()};
print "\n";
print "doc_format:\t";
print ${$ele->doc_format()};
print "\n";
print "name:\t";
print ${$ele->name()};
print "\n";
print "--------------------\n";
}
Strat
 2006-05-05 21:26
#65506 #65506
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Anmerkung am Rande:
Code: (dl )
1
2
3
4
5
sub spalteninfo {
my ( $self, $spalteninfo ) = @_;
$self->{spalteninfo} = $spalteninfo if defined($spalteninfo);
return $self->{spalteninfo};
}

usw. ist oft unguenstig, weil du $self->{spalteninfo} nie wieder leeren kannst; ich bevorzuge sowas wie das folgende
Code: (dl )
1
2
3
4
5
sub spalteninfo {
my ( $self, @spalteninfo ) = @_;
$self->{spalteninfo} = $spalteninfo[0] if scalar(@spalteninfo);
return $self->{spalteninfo};
}
\n\n

<!--EDIT|Strat|1146849987-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
<< |< 1 2 3 4 >| >> 38 Einträge, 4 Seiten



View all threads created 2006-05-02 15:55.