Rails:如何记录可能为零的对象?

时间:2011-08-02 06:20:29

标签: ruby ruby-on-rails-3

记录myvar的最短代码是什么,知道它可以是nil

希望比这更短的东西:

if (myvar==nil)
  logger.debug "myvar is nil"
else
  logger.debug "myvar is " + @myvar.to_s
end

2 个答案:

答案 0 :(得分:4)

logger.debug "myvar is: " + myvar.inspect 

答案 1 :(得分:1)

logger.debug "myvar is #{myvar.nil? ? 'nil' : myvar_to_s}"

在双引号内使用#{...}告诉Ruby评估{...}的内部,就好像它是普通的Ruby代码一样。

myvar.nil? ? 'nil' : myvar_to_s部分首先调用nil?上的myvar方法。如果它返回true,则使用字符串'nil'。否则,使用myvar.to_s的值。