评估ruby表达式



<% if (true || date[4..7].to_i > 1105) && most_recent_dis_table.present? %>

我找到了这段代码。我把这个表达理解为'&amp;'总是计算为true。第二部分检查mostrecent_distable的存在。

我的解释正确吗?我想我不明白为什么第一部分存在,如果它总是被评估为真的。

您的解释是正确的。在该条件下具有(true || date[4..7].to_i > 1105) &&是没有意义的,因为OR的左侧总是使整个OR表达式true

编写它的开发人员可能意外地在代码中留下了true ||

最新更新