fork(1) download
  1. class A
  2. def x
  3. $COUNTER += 1
  4. 1
  5. end
  6. end
  7.  
  8. class B
  9. def x
  10. $COUNTER += 1
  11. 3
  12. end
  13. end
  14.  
  15. class C
  16. def x
  17. $COUNTER += 1
  18. 2
  19. end
  20. end
  21.  
  22.  
  23. def f o
  24. o.x
  25. end
  26. $COUNTER = 0
  27. p [A.new, B.new, C.new].sort_by &method(:f)
  28. p $COUNTER
  29.  
  30. def g a, b
  31. a.x <=> b.x
  32. end
  33. $COUNTER = 0
  34. p [A.new, B.new, C.new].sort &method(:g)
  35. p $COUNTER
Success #stdin #stdout 0.02s 28208KB
stdin
Standard input is empty
stdout
[#<A:0x002ac4699b8018>, #<C:0x002ac4699b7f78>, #<B:0x002ac4699b7fa0>]
3
[#<A:0x002ac4699b7a50>, #<C:0x002ac4699b7a00>, #<B:0x002ac4699b7a28>]
4