Schrift
[thread]11375[/thread]

Frage zur for-Schleife (Seite 2)

Leser: 1


<< |< 1 2 >| >> 15 Einträge, 2 Seiten
murphy
 2008-02-28 21:06
#106481 #106481
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
KurtZ+2008-02-28 01:50:56--
@Murphy:
perl5005delta - what's new for perl5.005
"foreach (1..1000000)" optimized

ist mir eigentlich neu genug


Stimmt schon. Trotzdem ist es doof, dass diese Optimierung im Prinzip ein Implementationsdetail ist und nicht vom Sprachstandard vorgesehen wird. Aber andererseits ist das bei Perl nicht schrecklich relevant da es nur eine Implementation gibt ;-)

Quote
Quote
Außerdem fehlt leider die Möglichkeit, Objekten eigener Klassen eine Iterationsfunktionalität zu verpassen :-(


ähm ich verstehe dich nicht ganz, was hindert dich daran eine Klassenvariable anzulegen die ein Array aller Objektrefs ist.
(ungetesteter Code)


Daran hindert mich gar nichts, es ist aber umständlich, speicheraufwändig und nicht intuitiv zu benutzen wenn eigentlich das Objekt selber eine iterierbare Datenstruktur sein soll.

Quote
oder eine Klassenmethode next() anzulegen:


Auch daran hindert mich nichts, aber es ist nicht threadsicher und ebenfalls unintuitiv zu benutzen, weil es sich wie auch die Lösung mit der Instanzvariablen einfach anders verhält als die Iteration über ein natives Array.

Quote
oder was möchtest du genau???


Etwas wie das Iterable-Interface von Java, C# oder jeder anderen vernünftigen objektorientierten Sprache ;-)

Es stört mich einfach, dass das Iterieren über Kollektionen von Objekten im Speziellen und die Typen von Kollektionen im Allgemeinen bei Perl nicht konsequent aus einem Guss sind. Für meinen Geschmack würde es von besserem Sprachdesign zeugen, wenn man zum Beispiel sowohl foreach my $value (@stuff) { ... } als auch foreach my ($key, $value) (%stuff) { ... } als auch foreach my $line (<>) { ... } als auch foreach my $sonstwas ($irgendein_objekt) { ... } schreiben könnte und keine dieser Varianten nutzlos Speicher verpulvern würden.

Das fällt aber wie gesagt in den Bereich der Geschmacksfragen und wenn's mir nicht passt, muss ich ja kein Perl programmieren ;-)
When C++ is your hammer, every problem looks like your thumb.
betterworld
 2008-02-29 02:33
#106484 #106484
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
KurtZ+2008-02-28 01:50:56--
@Betterworld:

POD Greppen? Dann kann ich eigentlich auch gleich googlen.


Wie Du meinst, aber mir hilft grep da manchmal ganz gut.
KurtZ
 2008-02-29 03:50
#106485 #106485
User since
2007-12-13
411 Artikel
BenutzerIn
[default_avatar]
betterworld+2008-02-29 01:33:14--
KurtZ+2008-02-28 01:50:56--
@Betterworld:
POD Greppen? Dann kann ich eigentlich auch gleich googlen.

Wie Du meinst, aber mir hilft grep da manchmal ganz gut.


Zugegeben, bin mittlerweile auch auf den Geschmack gekommen, allerdings wundert es mich dass es kein solche Suchfeature in perldoc gibt. Insebsondere weils eine ziemlich *nix lastige
Lösung ist.

Insbesondere wozu "-r" nutzt hab ich noch nicht raus:

perldoc -r Recursive search.
TMTOWTDYOG (there's more than one way to dig your own grave)
betterworld
 2008-02-29 05:50
#106486 #106486
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
KurtZ+2008-02-29 02:50:26--
Insbesondere wozu "-r" nutzt hab ich noch nicht raus:

perldoc -r Recursive search.

Entweder grep -r verzeichnis oder grep verzeichnis/*. Ist irgendwie das Gleiche, solange das Verzeichnis keine Unterverzeichnisse hat. Nur dass das zweite bei zu vielen Dateien nicht mehr funktioniert, wenn die Maximallaenge der Parameter ueberschritten wird.

Neben -r ist auch -2 --color recht hilfreich :) [Letzteres natuerlich nur bei GNU grep.]
ptk
 2008-02-29 21:21
#106521 #106521
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Es gibt perlindex (in der Distribution zu CPAN:Text::English enthalten). Und CPAN:Tk::Pod hat ein Interface dazu.
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2008-02-27 14:01.