Ruby,基于另一个数组重新排序数组?

fra*_*ort 1 ruby

我想ary根据指定的指数订购order.

# Ruby
ary = ['a', 'b', 'c', 'd']
order = [2, 3, 0, 1]

# Result I want
ary = ['c', 'd', 'a', 'b']
Run Code Online (Sandbox Code Playgroud)

Car*_*and 11

ary = ['a', 'b', 'c', 'd']
order = [2, 3, 0, 1]

ary.values_at(*order)
  #=> ["c", "d", "a", "b"]
Run Code Online (Sandbox Code Playgroud)