ruby - Ruby 方法在执行条件后返回 nil 值
问题描述
我有以下方法
def add_5(a)
a + 5
end
当我调用add_5(5)它返回10
对于方法
def add_5(a)
a + 5
a + 5 if false
end
当我调用add_5(5)它返回nil。我只需要知道为什么会这样
解决方案
我只需要知道为什么会这样
- 方法的隐式返回值是其最后评估的表达式的值。
- 您最后评估的表达式是
if
. - 表达式的值
if
是相应主体中最后评估的表达式(“if 块”或“else 块”,取决于条件的评估方式)。 - 那
if
没有评估它的真体(由于它的假条件)并且它没有假体,所以它没有价值。在这种情况下,nil
通常会被退回。
推荐阅读
- mysql - 在单个查询 MySQL/Hibernate/jpa 中删除多个表
- python - 如何确定日期列表中的天数差异?
- html - 如何为其他标签中的输入标签的 id 添加检查类
- javascript - 无法检测到选项卡的 flexlayout-react 边缘
- python - 通过 Selenium 提取时,HTML 表缺少最后一个值
- javascript - 如何在 JS 的 style.backgroundColor 中使用本地存储?
- reactjs - 不考虑依赖数组的 UseEffect 触发
- javascript - firefox:尝试使用允许显示捕获属性捕获 iframe
- yaml - 如何修复 yaml 错误:此处不允许块映射值
- python - 使用 IPC 将数组从 C 传递到 Python 并将其转换为 numpy 数组