ruby - 数组上的替换方法

标签 ruby arrays

我有一个数组:

array = [1,2,3,4,5,2,6,7,2,8,9,2,10]

我想用 'x' 替换所有的 2,但不能这样做。我试过了:

  • 第一次尝试:array.select{|num|数 == 2? num = 'x' : num}
  • 第二次尝试:array.select{|num| num == 2}.replace(['x'])

我正在让这比现在更难。

最佳答案

我会使用:

array = [1,2,3,4,5,2,6,7,2,8,9,2,10]

array.map!{ |e| e == 2 ? 'x' : e }
array # => [1, "x", 3, 4, 5, "x", 6, 7, "x", 8, 9, "x", 10]

map! 更改 array,但如果您不想更改数组本身:

foo = array.map{ |e| e == 2 ? 'x' : e }
array # => [1, 2, 3, 4, 5, 2, 6, 7, 2, 8, 9, 2, 10]
foo # => [1, "x", 3, 4, 5, "x", 6, 7, "x", 8, 9, "x", 10]

关于ruby - 数组上的替换方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26492361/

相关文章:

c - 如何将数组的所有成员初始化为相同的值?

c++ - 将Shellcode从文件加载到char *文本末尾出现奇怪的字符

java - java中如何将数组的元素与另一个数组进行比较

php - 没有mysql的php中唯一的ip访问重定向

ruby-on-rails - 使用 Ruby 或 RubyOnRails 连接到共享点服务器

ruby-on-rails - 如何在 Rails 中制作 UI 组件?

ruby-on-rails - Rails 仅修改 yaml 文件中的特定键

ruby-on-rails - 在 Rails 关联中使用 foreign_key has_many

ruby - Ruby 可以判断 USB 内存棒何时插入 Linux 上的 USB 端口吗?

python - 将数组添加到另一个 Python 的末尾