Rub young:Rub to_i方法返回零

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"]
1

您确定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;数组应该具有复数名称。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(366)
Oracle配置文件:OracleEBS:获取配置文件值
上一篇
Web前端电子书:帮助我良好的 SQL电子书(sql ebook free)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(13条)