Pairs als Hash-Schlüssel

8

Kann jemand einen Hash mit Paaren von Strings machen, die als Schlüssel in Perl dienen?

Etwas wie ...

%Vor%

usw. ....

    
Zack 08.03.2013, 15:18
quelle

5 Antworten

12

Sie können kein Skalarpaar als Hash-Schlüssel verwenden, aber Sie können einen mehrstufigen Hash-Wert erstellen:

%Vor%

Wenn Sie alles auf einmal definieren möchten:

%Vor%

Alternativ, wenn es für Ihre Situation funktioniert, können Sie Ihre Schlüssel einfach miteinander verketten

%Vor%

Oder fügen Sie ein Trennzeichen hinzu, um die Schlüssel zu trennen:

%Vor%     
friedo 08.03.2013, 15:21
quelle
2

Sie können ein unsichtbares Trennzeichen verwenden, um die Koordinaten zu verknüpfen:

  

In erster Linie für die Mathematik bietet das unsichtbare Trennzeichen ( U+2063 ) ein Trennzeichen zwischen Zeichen, bei denen Interpunktion oder Leerzeichen weggelassen werden können, wie in einem zweidimensionalen Index wie i⁣j .

%Vor% %Vor%     
Sinan Ünür 08.03.2013 17:02
quelle
1

Verwendung : Mehrere Schlüssel eines einzelnen Werts in einem Hash können zur Implementierung einer 2D-Matrix verwendet werden oder N-dimensionale Matrix !

%Vor%     
Krishnachandra Sharma 08.03.2013 16:22
quelle
1

Ich mache das:

%Vor%

Normalerweise mit einer Hilfsmethode:

%Vor%

----- BEARBEITEN -----

Der obige Code wurde aktualisiert, um das ASCII-Einheitentrennzeichen für die Empfehlung von @chepner oben zu verwenden

    
Lucas 08.03.2013 15:20
quelle
0

Verwenden Sie $; implizit (oder explizit) in Ihren Hash-Schlüsseln, die für mehrdimensionale Emulation verwendet werden :

%Vor%

Sie können sogar $ setzen; zu \ x1F wenn nötig (der Standard ist \ 034, von SUBSEP in awk):

%Vor%     
MkV 09.03.2013 04:50
quelle

Tags und Links