Schrift
[thread]11039[/thread]

_func()



<< >> 6 Einträge, 1 Seite
Froschpopo
 2007-12-16 18:35
#103952 #103952
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Hallo Forum!
und wieder einmal neigt sich ein schönes Wochenende dem Ende zu :)
Aber gleich kommen ja gottseidank noch die Hochzeits-Crusher!

Zu meiner Frage:
Ich sehe manchmal in Modulen Funktionen, die mit einem Unterschrich _ beginnen.
Was wollen die Autoren damit signalisieren?
Ich habe erst gedacht, dass die _ nur bei Routinen vorkommen, die irgendwas mit dem Objekt (einschließlich Initializierungsfunktionen) zu tun haben. Aber dem war nicht so.
Gibt es da irgendwie sowas wie einen "Grundsatz" von dem ich nichts weiss?
lichtkind
 2007-12-16 18:42
#103953 #103953
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
das ist für sogenannte interne funktionen, die in einem package oder module intern von anderen subroutinen benutzt werden aber nicht dazu gedacht sind von ausserhalb gerufen zu werden.

ich mach das übrigens auch :)

und in perl 6 wird das überflüssig da man dort auch subroutinen mit my declarieren kann und die dann wirklich lexikalisch lokal sind.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
Froschpopo
 2007-12-16 20:15
#103957 #103957
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
irgendwie macht mir Perl grad nichtmehr soviel Spaß wenn ich weiss, dass sich sowieso bald grundlegendes ändert.
Das ist ein bisschen so, wie wenn man sich immer auf ein Brot freut, weil man weiss, dass es noch viele Jahre so gut schmecken wird.
Aber jetzt wo ich erste Eindrücke von Perl6 sammeln konnte, schmeckt mir mein altes Brot nicht mehr so gut.
Ich finde Perl6 viel besser.
lichtkind
 2007-12-16 20:27
#103958 #103958
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
Was sich ändert bestimmst du, perl 5 wird es noch sehr lange geben. Selbst Perl 4 ist noch nicht ganz tot. :)

Froschi: schön wenn dir perl 6 gefällt aber es braucht noch mindestens 2, 3 jahre, auch wenn die neuen entwickluingen von pct mit nqp und kp6 sehr vielversprechend sind. bedenke auch bitte das die umstellung nicht im grossen schwung auf einmal kommt. Morgen kommt perl 5.10 das bereits einiges schönes von Perl 6 haben wird. das kannst du schon heute als beta installieren und du bekommst say, given, when, smartmatch, dor und neue regex feature.

ein weiterer Brocken Bekommst du mit dem Perl 5-Module Bundle::Perl 6. Damit hast du junctions, neue OOP (Moose), AOP (roles), neue sigilhandling und mehr.

und mit Hilfe von kp6, das ist eine Ausatz für deinen Perlinterpreter wirst du in den
nächsten monaten fast vollständige Pugsfähigkeiten haben.

übrigens: der name mit dem underscore ist nichts weiter als visuelle markierung.
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
Crian
 2007-12-18 14:20
#103999 #103999
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
Ich finde das Prinzip von Perl viel besser als das von C++ etwa. Mit _func() sagt man aus "das ist meins, wenn du es benutzt jammer nicht wenn es sich plötzlich ändert".

Das ist ein viel freundlicherer Ansatz als die private / Public geschichten in C++ (die sich dann eh mit #define aushebeln ließen *grinst*

Schade, dass Perl 6 diese Philosophie wieder aufweicht. Wer echte private Funktionen wollte, konnte die ja auch jetzt schon erzeugen.
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
lichtkind
 2007-12-18 16:24
#104007 #104007
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
Crian: stimmt nicht ganz. klar konnte man in p5, aber es war bei weitem nicht so einfach wie in p6. _subname() ist ja nur optik und geht weiterhin. bitte mach dir bewusst das perl bedeutet das dir jemand keine vorschrift mach aber du niemanden auch keine machen kannst und wenn sie kapseln wollen bitte, p5oop kann man in auch in perl 6 bauen. es ist dann auch explizit und man ist gewarnt :)
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
<< >> 6 Einträge, 1 Seite



View all threads created 2007-12-16 18:35.