我希望在随机索引点将值1推入全0的数组中。数组的格式是将10 x 10的0排列成一个正方形表。我想为此生成一个随机输入点,并将该值更改为1。
您可以尝试如下:
# First create an array of array
array = Array.new(10) { Array.new(10) { 0 } }
# method to get the random index.
def random_index(start_point = 0, end_point)
(start_point..end_point).to_a.sample
end
# First find out the any random inner array
inner_array = array[random_index(0, array.size-1)]
# Then get the any random index from the inner array and update the value.
inner_array[random_index(0, array.size-1)] = 1
array
# => [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
# [0, 0, 0, 0, 0, 0, 0, 0, 0, 1],
# [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
# [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
# [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
# [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
# [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
# [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
# [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
# [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
回答OP的评论:-
def get_index_of_item_from_inner_array(array, item)
first_inner_array_contains_item = array.find { |in_ary| in_ary.include? item }
(0..first_inner_array_contains_item.size - 1).find { |ind| first_inner_array_contains_item[ind] == item }
end
get_index_of_item_from_inner_array(array, 1) # => 2
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句