So drucken Sie den Wert eines Schlüssels mit Punkten

8

Ich versuche, die Werte einer Karte zu drucken, deren Schlüssel einen Punkt ( . ) haben.

Beispielkarte:

%Vor%

Ich habe es versucht:

%Vor%

aber habe:

%Vor%

und

%Vor%

aber habe:

%Vor%

Beachten Sie, dass ich den Wert von Schlüsseln ohne Punkte erfolgreich drucken kann.

    
Sebastian Kreft 17.06.2014, 15:20
quelle

3 Antworten

12

Wie @ martin-ghallager sagte, muss man eine externe Funktion verwenden, um auf diese Elemente zuzugreifen.

Hoffentlich stellt die Standardbibliothek bereits die Funktion index ( Ссылка ) zur Verfügung genau das, was Martins dotNotation -Funktion tut.

Um es zu verwenden, schreiben Sie einfach:

%Vor%

Die Funktion index gibt einen Standardwert zurück, falls der Schlüssel nicht vorhanden ist. Dies funktioniert, wenn Ihr Wörterbuch homogene Daten enthält, es wird jedoch den falschen Wert zurückgeben, wenn es heterogen ist. In diesem Fall können Sie den Standard explizit festlegen mit:

%Vor%     
Sebastian Kreft 08.07.2014, 10:49
quelle
5

Wie fabrizioM gesagt hat, ist es gegen die Spezifikationen des Pakets, jedoch hindert Sie nichts daran, einen eigenen Accessor zu erstellen, um die Punktnotation mithilfe einer Funktionszuordnung zu verwenden:

%Vor%

Ссылка

    
Martin Gallagher 17.06.2014 17:53
quelle
2

Nein, kannst du nicht. Gemäß den Spezifikationen in Ссылка muss der Schlüssel alphanumerisch sein

%Vor%

Sie können es weiterhin drucken, indem Sie über die Karte iterieren Paket Haupt

%Vor%

Ссылка

    
fabrizioM 17.06.2014 16:57
quelle

Tags und Links