Keine implizite Umwandlung von String in Integer (TypeError)?

8

Ich versuche, ein Skript zu schreiben, das eine System-ID von Red Hat Satellite / Spacewalk erhält, die XMLRPC verwendet. Ich versuche, die ID zu erhalten, die der erste Wert ist, wenn der XMLRPC-Client den Systemnamen verwendet.

Ich verweise auf die Dokumentation von Red Hat für die unten verwendete Methode:

%Vor%

Die Ausgabe von gesystemid sieht so aus:

%Vor%

Aber wenn ich versuche, nur id zu bekommen, bekomme ich diesen Fehler:

%Vor%

Jede Hilfe ist willkommen

    
user3137647 26.12.2013, 19:54
quelle

1 Antwort

32

Schreiben Sie als

%Vor%

Ihr @getsystemid ist kein Hash , es ist ein Array von Hash . @getsystemid[0] gibt Ihnen den beabsichtigten Hash {"id"=>1000010466, "name"=>"cfme038", "last_checkin"=>#} . Jetzt können Sie auf die Hash#[] -Methode zugreifen der Wert des Hashs mithilfe seiner Schlüssel.

    
Arup Rakshit 26.12.2013, 19:54
quelle

Tags und Links