Thread OOP Verständnisproblem! (22 answers)
Opened by kolibri250 at 2019-01-20 00:13

kolibri250
 2019-01-20 18:02
#189491 #189491
User since
2019-01-20
51 Artikel
BenutzerIn
[default_avatar]
2019-01-20T12:36:19 GwenDragon
Zeige bitte mal ein paar eingedampfte Codezeilen, wo es bei dir nicht geht .



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
51
52
53
sub hole***Seite {
##########################################################################################################################################################################
# Methodeninfo:
# hole***Seite lädt die übergebene seite von *** und stellt sie im ergebnis bereit.
#
#
#
##################################################################################
#
# Erwartet:
# - vorherigen login in ** über **Login();
# - URL
#
#####################################################
# v1.0 (erste Rohversion) 18.Jan.2019 20:02
#
#
#####################################################
$self=shift;
$url=$_[0];


$mech->get($url);
$content=$mech->content();

return $content;
}

sub hole**SeiteIntern {
##########################################################################################################################################################################
# Methodeninfo:
# hole**SeiteIntern ist ein workaround!!!!!! die methode kann von einer methode der selben klasse so direkt nicht aufgerufen ewrden.. es liegt am $self=shift;
#
#
#
##################################################################################
#
# Erwartet:
#
#
#####################################################
# v1.0 (erste Rohversion) 18.Jan.2019 22:05
#
#
#####################################################
$url=$_[0];


$mech->get($url);
$content=$mech->content();

return $content;
}



so... das sind "eingedampfte" codezeilen.... :)
die erste methode läuft problemlos, solange ich sie vom hauptprogramm (welches die klasse instantiiert hat) aufrufe....

der "workaround" darunter sollte natürlich nicht sein, wusste mir aber ad hoc nicht anders zu helfen, da wie gesagt, der interne aufruf aus der selben klasse nicht funktioniert, solange $self=shift; notiert ist..

musste das ganze bisserl anonymisieren, also bitte nicht über die * wundern..

$mech ist dabei eine instanz von WWW::Mechanize

rufe die methode intern mit &methodenname($url) auf..

hatte es ebenfalls mit $self->methodenname($url); versucht, mit gleichem ergebnis.. die übergebene url hing dann in $self
Last edited: 2019-01-20 18:04:10 +0100 (CET)

View full thread OOP Verständnisproblem!