【发布时间】:2020-10-27 03:46:50
【问题描述】:
以下代码不会改变变量:
@my_var = ''
@my_var ||= 'This is a non-empty string'
有什么好的/干净的方法可以覆盖空字符串吗?
【问题讨论】:
-
这里,
@my_var不为空。所以,你必须这样做:@my_var = 'This is a non-empty string' if @my_var.empty?或@my_var = 'This is a non-empty string' unless @my_var.present? -
猴子补丁可以帮到你,stackoverflow.com/questions/647370/…
-
猴子补丁可能会让你伤心。
-
其他方式您可以将值设置为
nil而不是''(空白字符串) 像 =>@my_var = ''.presence @my_var ||= 'This is a non-empty string' -
如果
@my_var未定义/未设置,则应避免使用空字符串,而只需使用nil。
标签: ruby-on-rails ruby