2017-12-12 3 views
-2

Ich muss die Schlüssel eines Hash ändern, ich bin derzeit den Schlüssel als String gegeben und ich brauche es den normalen Schlüssel eines Hash. Ich verlasse das Beispiel unten.Change Hash-Schlüssel von String zu Symbol

Ich habe versucht, einige Methoden, die ich als Symbolize_keys gefunden, aber sie haben nicht funktioniert, sagt, dass die Methode nicht existiert, und ich verwende es wie in Rubys Apidock.

ich habe dies:

hash = {"name"=>"Jhon","lastname"=>"Doe"} 

und ich brauche diese konvertieren: Friends

hash = {:name=>"Jhon",:lastname=>"Doe"} 

Dank

+0

Ich denke, ' symbolize_keys' ist nur verfügbar, wenn mit Rai gearbeitet wird ls. Der bekannteste Weg ist 'hash.map {| key, value | [key.to_sym, value]} .to_h' –

+1

Ihre Frage ist unklar. Strings * sind * vollkommen normale Schlüssel eines Hashes. –

+0

Danke Sebastian, es funktioniert !!! :) Maschine !! –

Antwort

2

Wenn Sie Rubin haben 2,5:

hash.transform_keys!(&:to_sym) 
+0

Danke, ich benutze 2.4.2. –

+1

ETA für Ruby 2.5 ist 12/25, BTW –