0

Rubyで配列の要素を置き換える簡単な方法が必要です。正規表現は使いたくない。

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

同じインデックスで別の配列にcharcを保存したいと思います。

4

2 に答える 2

1

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"]
于 2013-02-07T19:51:44.177 に答える
1

目的がわからない(本当に@word_arrayを変更してスペースを含めるようにしますか?)が、これでうまくいくはずです(配列の最後にある追加のnilを除いて、それが問題かどうかはわかりません):

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

于 2013-02-07T22:25:34.140 に答える