public
Last active

Proc#== behaviour.

  • Download Gist
proc_equality_1.8.7.rb
Ruby
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#
# 1.8.7 docs: http://ruby-doc.org/core-1.8.7/classes/Proc.html#M000463
#
# Return true if prc is the same object as other_proc, or if they are both procs with the same body.
#
 
RUBY_DESCRIPTION #=> ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-linux]
 
proc { 1 } == proc { 1 } # => false
proc { 1 + 1 } == proc { 1 + 1 } # => false
 
proc { |x| x } == proc { |x| x } # => false
proc { |x| x.foo } == proc { |x| x.foo } # => false
 
lambda { 1 } == lambda { 1 } # => false
lambda { 1 + 1 } == lambda { 1 + 1 } # => false
 
lambda { |x| x } == lambda { |x| x } # => false
lambda { |x| x.foo } == lambda { |x| x.foo } # => false
 
Proc.new { 1 } == Proc.new { 1 } # => false
Proc.new { 1 + 1 } == Proc.new { 1 + 1 } # => false
 
Proc.new { |x| x } == Proc.new { |x| x } # => false
Proc.new { |x| x.foo } == Proc.new { |x| x.foo } # => false
proc_equality_1.9.2.rb
Ruby
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#
# 1.9.2 docs: http://ruby-doc.org/core/classes/Proc.html#M000554
#
# Return true if prc is the same object as other_proc, or if they are both procs with the same body.
#
 
RUBY_DESCRIPTION #=> ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux]
 
proc { 1 } == proc { 1 } # => true
proc { 1 + 1 } == proc { 1 + 1 } # => false
 
proc { |x| x } == proc { |x| x } # => true
proc { |x| x.foo } == proc { |x| x.foo } # => false
 
lambda { 1 } == lambda { 1 } # => true
lambda { 1 + 1 } == lambda { 1 + 1 } # => false
 
lambda { |x| x } == lambda { |x| x } # => true
lambda { |x| x.foo } == lambda { |x| x.foo } # => false
 
Proc.new { 1 } == Proc.new { 1 } # => true
Proc.new { 1 + 1 } == Proc.new { 1 + 1 } # => false
 
Proc.new { |x| x } == Proc.new { |x| x } # => true
Proc.new { |x| x.foo } == Proc.new { |x| x.foo } # => false

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.