Rubyto_i
方法返回零。任何想法为什么它返回零,而不是将字符串转换为整数。
job_id = job_template_id[index]
@handle.log(:info, "job_id is: #{job_id}")
job_id = job_id.to_i
@handle.log(:info, "job_id 2 is: #{job_id}")
[----] I, [2022-03-24T09:23:29.327746 #328:2aebe6eaa0a4] INFO -- automation: Q-task_id([r382_miq_provision_1347]) <AEMetd launch_ansible_job> job_template_id is: "39"
[----] I, [2022-03-24T09:23:29.328220 #328:2aebe6eaa0a4] INFO -- automation: Q-task_id([r382_miq_provision_1347]) <AEMetd launch_ansible_job> job_id is: "39"
[----] I, [2022-03-24T09:23:29.328778 #328:2aebe6eaa0a4] INFO -- automation: Q-task_id([r382_miq_provision_1347]) <AEMetd launch_ansible_job> job_id 2 is: 0
job_template_id 是一个数组。
job_template_id => ["39", "40"]
您确定job_template_id
是['39', '40']
而不是['"39"', '"40"']
?
考虑一下:在irb
中:
irb > job_id = "39"
=> "39"
irb > puts "job_id is #{job_id}"
job_id is 39
=> nil
irb > job_id.to_i
=> 39
但是,如果有内部引号,我们会看到字符串插值和#to_i
调用:
irb > job_id = '"39"'
=> "\"39\""
irb > puts "job_id is #{job_id}"
job_id is "39"
=> nil
irb > job_id.to_i
=> 0
job_template_id
的元素中有额外的引号。也许您正在使用#inspect
填充job_template_id
,或者您是双重 JSON 编码。我将查看构建job_template_id
的代码,并查看额外引号的来源。我还将job_template_id
重命名为job_template_ids
;数组应该具有复数名称。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(13条)