ruby-on-rails - 有没有办法在一行中有条件地添加到数组?

标签 ruby-on-rails ruby

我有 str1 和 str2。 str1 可能是也可能不是空字符串,我想构造一个数组,如下所示:

str1 = ""
str2 = "bar"
["bar"]

str1 = "foo"
str2 = "bar"
["foo", "bar"]

我现在只能想出一种在两条线上执行此操作的方法,但我知道必须有一种方法可以在一条线上执行此操作。

最佳答案

在 ruby 1.9 中

[*(str1 unless str1.empty?), str2]

在 ruby 1.8 中

[(str1 unless str1.empty?), str2].compact

关于ruby-on-rails - 有没有办法在一行中有条件地添加到数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6065450/

相关文章:

ruby-on-rails - 简单的 Rails 路由情况

ruby-on-rails - 使用 rails 应用程序 : Error with build stream, 轮询结果的 heroku 错误

ruby-on-rails - ruby:批量初始化实例变量

ruby - 如何在单行 ruby​​ -e 中随机播放文件

php - 如果内存过度使用,哪个进程会被内核杀死? child 还是 parent ?

ruby - 如何找到多维数组的 .index

ruby - OS 10.9 上的 rvm 出现一些问题 : second export path to . bash_profile、缺少 2.0 路径和缺少文件

ruby-on-rails - Rails 'Best in Place' Gem - Flash 成功消息?

ruby-on-rails - Spree:关闭 SSL 重定向/管理员返回站点

ruby-on-rails - 为什么回调引用的模型中的验证不会导致我的原始事务失败?