【发布时间】:2016-01-07 16:04:49
【问题描述】:
我得到了修复 webistrano 安装的工作,现在我陷入了这样一种情况,即我有一张收据,其中在从 ruby 1.8 更新到 ruby 1.9.3 后,以下任务中断了
if defined? var_one != nil
var_to_be_used = var_one
else
$logger.info(var_one)
var_to_be_used = var_two
end
我已确保(通过添加上述日志条目)var_one 和 var_two 保持预期值。
例如,当我希望 var_one 保持我在日志中得到的值时:
** var_one 中的值
的未定义局部变量或方法 `var_two'
*** #<:configuration::namespaces::namespace:0x000000032a6040>
从未达到第一种情况。脚本总是转到 else 情况——即使var_one 包含一个字符串。
我该如何解决?
【问题讨论】:
-
var_to_be_used = (defined? var_one) ? var_one : var_two -
效果一样
-
试试
var_one.nil? ? var_two : var_one
标签: ruby variables conditional local webistrano