Ruby 没有将字符串隐式转换为整数(TypeError)?

Ruby 没有将字符串隐式转换为整数(TypeError)?,ruby,redhat,Ruby,Redhat,我正在尝试编写一个脚本,该脚本将从使用XMLRPC的红帽卫星/太空行走获取系统ID。我试图获取ID,它是使用系统名使用XMLRPC客户端时的第一个值 我引用了Red Hat的以下方法: #!/usr/bin/env ruby require "xmlrpc/client" @SATELLITE_URL = "satellite.rdu.salab.redhat.com" @SATELLITE_API = "/rpc/api" @SATELLITE_LOGIN = "********" @SA

我正在尝试编写一个脚本,该脚本将从使用XMLRPC的红帽卫星/太空行走获取系统ID。我试图获取ID,它是使用系统名使用XMLRPC客户端时的第一个值

我引用了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>}]
感谢您的帮助

以书面形式提供

@systemid = @getsystemid[0]['id']
您的
@getsystemid
不是
哈希
,而是
哈希
数组
@getsystemid[0]
将为您提供所需的哈希值
{“id”=>1000010466,“name”=>“cfme038”,“last_checkin”=>}
。现在,您可以使用方法通过使用散列的键来访问散列的值

@systemid = @getsystemid[0]['id']