如何制作在条件表达式中评估为false的Ruby变量
发布时间:2020-12-17 02:26:34 所属栏目:百科 来源:网络整理
导读:我想在条件句中使用我的变量(代理对象)评估为false.我知道我可以用.nil?甚至var == nil但我认为这还不够好.我正在尝试做的是: if myproxy # not only myprroxy.nil? or myproxy == nil,but just that # myproxy's backend object is not nilelse # myproxy
我想在条件句中使用我的变量(代理对象)评估为false.我知道我可以用.nil?甚至var == nil但我认为这还不够好.我正在尝试做的是:
if myproxy # not only myprroxy.nil? or myproxy == nil,but just that # myproxy's backend object is not nil else # myproxy's backend object is nil end 有任何想法吗? 解决方法
在Ruby中布尔上下文中唯一评估为false-ish值的两个对象是nil,NilClass的单??例实例和false,FalseClass的单??例实例.每个其他对象评估一个tru-ish值.
如果你想要采用其他分支,那么myproxy必须评估为nil或false. 如果你想要实际控制某些boolean-ish,你可以尝试一个case表达式并覆盖case subsumption operator MyProxy#===. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |