Schrift
[thread]6931[/thread]

funktionen aus eigenem Modul einbinden (Seite 2)

Leser: 2


<< |< 1 2 >| >> 17 Einträge, 2 Seiten
pKai
 2005-04-27 22:03
#54240 #54240
User since
2005-02-18
357 Artikel
BenutzerIn
[default_avatar]
[quote=supersucker,27.April.2005, 16:26]
Code: (dl )
my$tralala = STUFF->RadToDegree($halali)


mach ich das mit dem arrow-operator krieg ich immer das gleiche ergebnis, nämlich null, ich hab von obiektorientierter programmierung unter perl keine ahnung, aber ich vermute mal dass ich mit dem arrow-operator eine objektmethode aufrufe, was natürlich nicht hinhauen kann, da ich ja auch keine klasse habe[/quote]Der Aufruf STUFF->RadToDegree($halali) ist identisch zu RadToDegree(STUFF, $halali), daher ist 0 in dem Fall ($_[0] = STUFF) das korrekte Ergebnis.
Deine Klasse ist STUFF und wenn du das ganze nicht objektorientiert aufgesetzt hast, darfst du die sub auch nicht wie eine (Klassen-)Methode aufrufen.

Quote
Code: (dl )
my$tralala = STUFF::RadToDegree($halali)

mache ich es mit "::" kriege ich die fehlermeldung das ich die methode mit zu vielen argumenten, ...

...
müsste dann die radtodegree - funktion im modul etwa so
Code: (dl )
1
2
3
4
sub RadToDegree($argument)
{
return (($argument * 180)/ Math::Trig->pi());
}

aussehen?
In dem (ursprünglichen) Fall stellt der Kompiler fest, dass du für die sub kein Argument vorgeschrieben hast.
Das was du zuletzt vorgeschlagen hast geht nicht mal mehr als Prototype durch. Entweder läßt du ("wie normal" in perl) bei der Definition der sub die Argumentliste weg (also kein Prototype) wie in
Code: (dl )
sub RadToDegree { ...
oder dein Prototype sagt "1 Skalar als Argument" in der Form
Code: (dl )
sub RadToDegree ($) { # ja, das ist ein einzelnes Dollarzeichen
\n\n

<!--EDIT|pKai|1114625174-->
I sense a soul in search of answers.
Crian
 2005-04-28 12:36
#54241 #54241
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Außerdem wirf mal einen Blick in perlstyle und gewöhn Dir Deinen ungewöhnlichen Einrückstil ab oder überleg Dir sehr gute Gründe für ihn ;-)

Edit Dubu: perldoc verlinkt\n\n

<!--EDIT|Dubu|1114680021-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
pKai
 2005-04-28 13:42
#54242 #54242
User since
2005-02-18
357 Artikel
BenutzerIn
[default_avatar]
Ah, die perlstyle in Deutsch!
Sehr schön, Dubu!

... trotzdem liebe ich meine geknuddelten [tt]else-s[/tt] ;)
I sense a soul in search of answers.
Crian
 2005-04-28 13:48
#54243 #54243
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
[quote=pKai,28.04.2005, 11:42]... trotzdem liebe ich meine geknuddelten [tt]else-s[/tt] ;)[/quote]
igitt ... brrr ... schauder :D\n\n

<!--EDIT|Crian|1114681756-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
Dubu
 2005-04-28 14:26
#54244 #54244
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
[quote=pKai,28.04.2005, 11:42]... trotzdem liebe ich meine geknuddelten [tt]else-s[/tt] ;)[/quote]
dito :)
supersucker
 2005-04-29 18:51
#54245 #54245
User since
2005-03-17
118 Artikel
BenutzerIn
[default_avatar]
@crian

was hast du denn gegen meinen einrückstil?

Code: (dl )
1
2
3
4
5
6
7
 LINE:
for (;;) {
statements;
last LINE if $foo;
next LINE if /^#/;
statements;
}


das finde ich nicht wirklich übersichtlich...
ich rücke meine zusammengehörenden klammern immer so ein, dass sie genau übereinander stehen (wie in der funktion oben),
der (gute..) grund ist der dass man zumindest bei kürzeren abschnitten schnell sieht welche schliessende klammer zu welcher öffnenden gehört....

und wie war das mit TMTOWTDI nochmal?

in diesem sinne.......:-)
Crian
 2005-04-29 19:20
#54246 #54246
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Nein, man sieht es eben nicht schneller, und ich würd mich lieber an erprobte Stile gewöhnen, als mein eigenes Süppchen zu kochen. Dann musst Du Dich nur später "schmerzhaft" umgewöhnen, wenn Du irgendwann nicht mehr allein programmierst.

Natürlich kannst Du für Dich allein den Kram einrücken wie Du willst. Aber schon wenn Du willst, dass man Dir hilft fängt es doch an. Warum sollen sich dann alle gedanklich verrenken, um Deinen Code nachzuvollziehen? Das ist jetzt natürlich etwas übertrieben dargestellt, aber im Prinzip trifft es doch den Kern der Sache.

Von mir aus lass es so, aber ich bin - sagen wir mal - "motivierter" einen genaueren Blick auf ein Stück gezeigten Code zu werfen, wenn dieser meinen Gewohnheiten entspricht, als wenn dieser unmotiviert völlig anders aussieht.

TMTOWTDI bezieht sich auf andere Dinge. Zumindestens wenn Du mit mehreren Programmierern im Team arbeitest, kannst Du nicht einfach sagen, ich rück das jetzt so und so ein. Ok, zumindestens nicht wenn Du mit mir im Team arbeitest ;) Und nicht ohne guten Grund gibt es für soetwas in (größeren) Firmen Grundlinien, damit der Code nicht am Ende nach Kraut und Rüben aussieht, weil Abschnittsweise immer ein anderer Stil verwendet wurde.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< |< 1 2 >| >> 17 Einträge, 2 Seiten



View all threads created 2005-04-26 18:43.