【问题标题】:How can I save an array character at the same index in another array?如何将数组字符保存在另一个数组的同一索引处?
【发布时间】:2013-01-23 10:41:19
【问题描述】:

在 Ruby 中必须有一种简单的方法来替换数组的元素。我不想使用正则表达式。

while @word_array.include? c do
  idx = @word_array.index(c)
  @currently_found[idx] = c
  @word_array.index(idx) = " "
end

我想将字符 c 保存在同一索引但在另一个数组中。

【问题讨论】:

    标签: ruby arrays replace


    【解决方案1】:

    不确定你想要它做什么(你真的想改变@word_array 来包含一个空格吗?),但应该这样做(除了数组末尾的额外 nil,不知道这是否有问题) :

    @currently_found = @word_array.map { |w| w == c ? c : nil }

    【讨论】:

      【解决方案2】:

      只需使用Array#index 的返回值即可。例如:

      an_array     = %w[a b c]
      new_array    = []
      chars        = ['b']
      chars.each do |char|
        new_array[an_array.index(char)] = char if an_array.include? char
      end
      new_array
      => [nil, "b"]
      

      【讨论】:

        猜你喜欢
        • 2015-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多