[解決済み】StringからIntegerへの暗黙の変換がない(TypeError)?
2022-01-23 22:22:08
質問
Red Hat Satellite/SpacewalkからXMLRPCを使用してシステムIDを取得するスクリプトを書こうとしているのですが、どのようにすればよいでしょうか? 私は、システム名を使用してXMLRPCクライアントを使用したときに最初の値であるIDを取得しようとしています。
私が参照しているのは ドキュメント Red Hatから、以下の方法で使用されています。
#!/usr/bin/env ruby
require "xmlrpc/client"
@SATELLITE_URL = "satellite.rdu.salab.redhat.com"
@SATELLITE_API = "/rpc/api"
@SATELLITE_LOGIN = "********"
@SATELLITE_PASSWORD = "*******"
@client = XMLRPC::Client.new(@SATELLITE_URL, @SATELLITE_API)
@key = @client.call("auth.login", @SATELLITE_LOGIN, @SATELLITE_PASSWORD)
@getsystemid = @client.call("system.getId", @key, 'cfme038')
print "#{@getsystemid}"
@systemid = @getsystemid ['id']
getsystemidの出力はこのようになります。
[{"id"=>1000010466, "name"=>"cfme038", "last_checkin"=>#<XMLRPC::DateTime:0x007f9581042428 @year=2013, @month=12, @day=26, @hour=14, @min=31, @sec=28>}]
しかし、私はちょうど取得しようとすると、ちょうど
id
こんなエラーが出るんです。
no implicit conversion of String into Integer (TypeError)
よろしくお願いします。
解決方法は?
次のように書きます。
@systemid = @getsystemid[0]['id']
あなたの
@getsystemid
は
Hash
であり、それは
Array
の
Hash
.
@getsystemid[0]
を実行すると、意図したハッシュが得られます。
{"id"=>1000010466, "name"=>"cfme038", "last_checkin"=>#}
. これで
Hash#[]
メソッドを使ってハッシュのキーにアクセスできます。
関連
-
[解決済み】RVMをアンインストールする方法は?[重複] RVMのアンインストール方法
-
[解決済み】TypeError: SymbolからIntegerへの暗黙の変換がない。
-
[解決済み] -bashです。/Users/myname/.bash_profile: パーミッションが拒否されました
-
[解決済み] RubyのFile.openで "No such file or directory - text.txt (Errno::ENOENT)" というエラーが発生する。
-
[解決済み] Rubyでランダムな文字列を生成する方法
-
[解決済み] Rubyのcontinueに相当します。
-
[解決済み] ルビー、すべての単語の最初の文字を大文字にする
-
[解決済み] Ruby Net::HTTPの実行期限が切れた
-
[解決済み] Rubyで文字列を小文字・大文字に変換する方法
-
[解決済み] Rubyで文字列が部分文字列を含むかどうかをチェックする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】StringからIntegerへの暗黙の変換がない(TypeError)?
-
[解決済み] Rubyで新しい文字列を作成せずに文字列をトリミングする標準的な方法は何ですか?
-
[解決済み] Rubyの除算はなぜ10進数ではなく整数を返すのですか?
-
[解決済み] Ruby の .reject! と .delete_if の比較
-
[解決済み] Ruby Detect方式
-
[解決済み] Rubyで配列を降順にソートする方法
-
[解決済み] レイルズ・ジェネレート」を逆手に取る方法
-
[解決済み] Rubyで=~と/Θはどういう意味ですか?
-
[解決済み] Rubyのダブルコロン `::` とは何ですか?
-
[解決済み] .rb(Ruby)ファイルを表示するにはどうすればよいですか?