我[12,16,5,9,11,5,4]
打印了以下数组:12,16,5,9,11,5,4
.
我想要它打印: 4,5,11,9,5,16,12
当我array.reverse
打印时:
4,5,11,9,5,61,21
Run Code Online (Sandbox Code Playgroud)
它颠倒了个人数字 - 任何想法我怎么能阻止它?
Sea*_*ill 75
irb(main):001:0> a = [12,16,5,9,11,5,4]
=> [12, 16, 5, 9, 11, 5, 4]
irb(main):002:0> a.reverse
=> [4, 5, 11, 9, 5, 16, 12]
Run Code Online (Sandbox Code Playgroud)
我没看到你所看到的.
编辑:扩展Ben注意到的,你可能正在翻转一个字符串.
irb(main):005:0> "12,16,5,9,11,5,4".reverse
=> "4,5,11,9,5,61,21"
Run Code Online (Sandbox Code Playgroud)
如果必须以这种方式反转字符串,则应执行以下操作:
irb(main):008:0> "12,16,5,9,11,5,4".split(",").reverse.join(",")
=> "4,5,11,9,5,16,12"
Run Code Online (Sandbox Code Playgroud)
您是否想将列表反转到位?如果是这样,那么执行以下操作:
>> arr = [12,16,5,9,11,5,4]
=> [12, 16, 5, 9, 11, 5, 4]
>> arr.reverse!
=> [4, 5, 11, 9, 5, 16, 12]
>> arr
=> [4, 5, 11, 9, 5, 16, 12]
Run Code Online (Sandbox Code Playgroud)
否则:
>> arr_rev=arr.reverse
=> [4, 5, 11, 9, 5, 16, 12]
>> arr_rev
=> [4, 5, 11, 9, 5, 16, 12]
Run Code Online (Sandbox Code Playgroud)
如果您的数组是实际的字符串,请尝试以下操作:
"12,16,5,9,11,5,4".split(',').reverse
Run Code Online (Sandbox Code Playgroud)
希望能解决您的问题!