ruby - 仅在非 nil 时才分配变量

标签 ruby null variable-assignment

我有@obj.items_per_page ,即 20一开始,我希望下面的方法仅在 many_items 时才为其赋值不是 nil :

def fetch_it_baby (many_items = nil)
    @obj.items_per_page = many_items

使用上面的代码,即使many_itemsnil , @obj.items_per_page保持在 20 .为什么?那是“好的”编码吗?我不应该使用类似的东西吗

@obj.items_per_page = many_items || @obj.items_per_page

或者有第三种方法吗?我对这两种方式都不太满意。

最佳答案

我一般看到的样式是这样的:

@obj.items_per_page = many_items if many_items

这使用内联条件,同时避免否定或双重否定条件。

关于ruby - 仅在非 nil 时才分配变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19114232/

相关文章:

ruby-on-rails - Rails 无法将不允许的参数转换为散列

ruby - 使用正则表达式解析日期格式

ios - block 执行后变量返回 null

c# - "is not null here"

android - GSON解析android

java - 波动的数组大小

android - 我应该使用什么 ruboto 调试工具?

ruby-on-rails - 如何将 ruby​​ 散列数组转换为单个散列?

Perl 变量值作为另一个变量名

c++ - 检查我是否可以将一个类分配给另一个类的最通用方法