Different between 2 code

Hi
Why 2 different sort in below code return different result ?
( I dont understand different between “v1 <=> v2” and “v2 <=> v1” ).


array = [3,1,5,2,4]

=> [3, 1, 5, 2, 4]

array.sort {|v1,v2| v1 <=> v2 }

=> [1, 2, 3, 4, 5]

array.sort {|v1,v2| v2 <=> v1 }

=> [5, 4, 3, 2, 1]


( I dont understand different between “v1 <=> v2” and “v2 <=> v1” ).

I think a quick Google search on the “spaceship operator” should help
you with understanding the differences.

Amir E. wrote:

Hi
Why 2 different sort in below code return different result ?
( I dont understand different between “v1 <=> v2” and “v2 <=> v1” ).

irb(main):001:0> 1 <=> 2
=> -1
irb(main):002:0> 2 <=> 1
=> 1
irb(main):003:0> 1 < 2
=> true
irb(main):004:0> 2 < 1
=> false

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs