Ruby on rails 在RubyonRails中简化赋值
我只想将变量Ruby on rails 在RubyonRails中简化赋值,ruby-on-rails,ruby,Ruby On Rails,Ruby,我只想将变量B的值分配给变量A,前提是B不是nil。 我想尽量简化代码。 所以我找到了那个 A = B if B 但是变量名很长,例如数据[:Symbol1][:Symbol2]…,无论如何相同的变量名是重复的 有人能帮我简化这段代码吗?你可以试试这个方法 你的代码看起来像 A = B.presence 正在运行的it示例: [1] pry(main)> b = nil => nil [2] pry(main)> a = b.presence => nil [3] p
B
的值分配给变量A
,前提是B
不是nil
。
我想尽量简化代码。
所以我找到了那个
A = B if B
但是变量名很长,例如数据[:Symbol1][:Symbol2]…
,无论如何相同的变量名是重复的
有人能帮我简化这段代码吗?你可以试试这个方法
你的代码看起来像
A = B.presence
正在运行的it示例:
[1] pry(main)> b = nil
=> nil
[2] pry(main)> a = b.presence
=> nil
[3] pry(main)> a
=> nil
[4] pry(main)> b = 'foo'
=> "foo"
[5] pry(main)> a = b.presence
=> "foo"
[6] pry(main)> a
=> "foo"
我想你需要
A=B | | A
|
运算符计算并返回第一个非假操作数。如果B为“”,它将返回B(并将其分配给A)。如果B为false,则A将被分配自身。两种简单方法:
a=b.presence | | a
或
a=b|a
没有完全清除重复名称的部分,请举例说明。试试a=b | | a
。如果a=:something
你把a变成nil
。这就是a=b
?在哪个版本的ruby中工作?b、 presence给出错误presence未在nil:NilClass中定义。@Romeo,require'rails'
或require'active\u support/core\u ext/object'
@Romeo您的标题说您正在使用Ruby-on-rails,所以我给出了一个特定于rails的解决方案。