Was ist die einfachste oder effektivste Methode, um die Monatsabkürzung in Perl zu konvertieren? (dh "Jan" zu 1)

7

Wenn ich eine Bibliothek importiere, um eine Methode zu verwenden, wäre es das wert? Nimmt der Import viel Speicher in Anspruch?

    
jcee14 27.10.2008, 22:23
quelle

9 Antworten

21

von hier

geliehen %Vor%

und abzurufen

%Vor%     
Oskar 27.10.2008, 22:27
quelle
10

Hier ist noch ein anderer Weg, es zu tun:

%Vor%     
Robert Krimen 28.10.2008 02:09
quelle
9

Das Importieren eines solchen Moduls wird wahrscheinlich nicht so viel Speicher kosten, dass Sie davon Abstand nehmen sollten, obwohl in diesem Fall wahrscheinlich ein einfacher Hash genau so gut wäre. Etwas wie

%Vor%     
Leon Timmermans 27.10.2008 22:25
quelle
2
%Vor%

Oder vielleicht:

%Vor%

Oder verwenden Sie eine Zip-Funktion :

%Vor%     
Aristotle Pagaltzis 28.10.2008 00:31
quelle
2

Hmm - es scheint viele übermäßig komplizierte Wege zu geben, dies zu tun. Für etwas ist diese einfache Klarheit der Schlüssel:

%Vor%     
EvdB 28.10.2008 17:57
quelle
2

Beachten Sie auch, dass bei Groß- und Kleinschreibung die Groß- / Kleinschreibung beachtet wird. Je nachdem, woher Ihre Abkürzungen kommen, möchten Sie sie eventuell zuerst absenken, damit sie den Hash-Schlüsseln entsprechen.

%Vor%     
F5. 28.10.2008 21:06
quelle
2

Eine andere Möglichkeit, dies mit einem Hash-Slice zu tun:

%Vor%     
toolkit 29.10.2008 23:45
quelle
0

Es hängt davon ab, wie viel Datumsmanipulation Sie vorhaben. Am Anfang ist es wahrscheinlich besser, wenn Sie es z. B. manuell rollen.

%Vor%

(Ich bevorzuge diesen Ansatz, weil es ziemlich offensichtlich ist, was du tust - du hast eine Liste von Monaten, dann mappst du sie von 1..12 (die Zahlen, die für einen Menschen sinnvoll sind) auf 0..11 ( die Zahlen, die für einen Computer sinnvoll sind.) Die Leistungsengpässe in Ihrem Code sind nicht in dieser Art von Code enthalten, sie befinden sich im Netzwerk-, Datenbank- oder Disk-Access-Code, also konzentrieren Sie sich darauf, Ihren Code lesbar zu machen. )

Wenn Sie beginnen, Ihren Code zu ergänzen, stellen Sie vielleicht fest, dass viele dieser Dinge bereits von vorhandenen Modulen erledigt werden, und es könnte einfacher sein, einige der einfachen Dinge mit z. Datum :: Calc. Oder Sie finden ein Datum / Zeit-Modul, das Ihren Bedürfnissen besser entspricht. das geht über den Rahmen dieser Frage hinaus.

Beachten Sie auch, dass einige Module Autosplit verwenden, bei dem nur die Teile des Moduls geladen werden, die benötigt werden. Außerdem ist der Hauptleistungseinfluss bei der Verwendung eines großen Moduls nicht unbedingt RAM. Es ist wahrscheinlich eher der Zeit- / CPU-Aufwand des Ladens und Kompilierens, bevor Code überhaupt ausgeführt wurde.

    
Sam Kington 28.10.2008 03:59
quelle
0

Definitiv ein Hash, wie von anderen vorgeschlagen.

    
Guillaume Gervais 28.10.2008 12:42
quelle

Tags und Links