<% if (true || date[4..7].to_i > 1105) && most_recent_dis_table.present? %>
我找到了这段代码。我把这个表达理解为'&;'总是计算为true。第二部分检查mostrecent_distable的存在。
我的解释正确吗?我想我不明白为什么第一部分存在,如果它总是被评估为真的。
您的解释是正确的。在该条件下具有(true || date[4..7].to_i > 1105) &&
是没有意义的,因为OR的左侧总是使整个OR表达式true
。
编写它的开发人员可能意外地在代码中留下了true ||
。