-3

私の文字列配列はこのようなものです

arr = ["a", "apple", "b", "banyan", "banana", "c", "cat"]

ベイナンをバナナにマージして、配列がこのようになり、ハッシュマップを作成できるようにします

arr = ["a", "apple", "b", "banyanbanana", "c", "cat"]
hash_arr = Hash[*arr]

しかし、同じ配列内の特定の2つの隣接する値をrubyでマージするという考えはまだありません。例外「ハッシュの引数の数が奇数」から抜け出すことができるように、マージの固定位置はありません

前もって感謝します

4

2 に答える 2

3
arr = ["a", "apple", "b", "banyan", "banana", "c", "cat"]

indexes = [3, 4] # Define which two elements to merge.

arr[indexes[0]] += arr.delete_at(indexes[1])

arr # => ["a", "apple", "b", "banyanbanana", "c", "cat"]
于 2013-06-24T11:57:05.893 に答える
1

したがって、1 つの値の場合:

 arr = ["a", "apple", "b", "banyan", "banana", "c", "cat"]
 index = 3 # you can write `index = arr.find_index("banana")`
 arr[index..(index+1)] = arr[index] + arr[index+1]

どのメソッド クラスがサポートしているかを知るには、公式の Ruby ドキュメントを使用できます: http://ruby-doc.org/core-2.0/Array.html

于 2013-06-24T12:08:56.340 に答える