要按变量中的值对Ruby数组进行排序,可以使用数组的sort_by方法。
以下是一个示例代码:
# 定义一个数组
array = [{name: 'John', age: 25}, {name: 'Jane', age: 30}, {name: 'Dave', age: 20}]
# 定义要按照哪个变量排序的变量名
sort_by_variable = :age
# 使用sort_by方法对数组进行排序
sorted_array = array.sort_by { |item| item[sort_by_variable] }
# 输出排序后的数组
sorted_array.each { |item| puts item }
在上面的示例中,我们首先定义了一个包含哈希元素的数组。然后,我们定义了一个变量sort_by_variable,它指定了我们要按照哪个变量对数组进行排序。在这种情况下,我们使用:age作为变量名。
然后,我们使用数组的sort_by方法对数组进行排序。sort_by方法接受一个块,其中的代码指定了排序的规则。在这种情况下,我们使用item[sort_by_variable]来获取每个元素的对应变量的值,并根据该值进行排序。
最后,我们使用each方法遍历排序后的数组,并输出每个元素。
执行上述代码,将输出按照age变量的值排序后的数组元素。