Skip to content

Commit

Permalink
Document Proc#==
Browse files Browse the repository at this point in the history
  • Loading branch information
zverok authored and marcandre committed Dec 22, 2020
1 parent 861dbd9 commit 816bbfd
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions proc.c
Expand Up @@ -1273,6 +1273,32 @@ rb_proc_get_iseq(VALUE self, int *is_proc)
return NULL;
}

/* call-seq:
* prc == other -> true or false
* prc.eql?(other) -> true or false
*
* Two proc are the same if, and only if, they were created from the same code block.
*
* def return_block(&block)
* block
* end
*
* def pass_block_twice(&block)
* [return_block(&block), return_block(&block)]
* end
*
* block1, block2 = pass_block_twice { puts 'test' }
* # Blocks might be instantiated into Proc's lazily, so they may, or may not,
* # be the same object.
* # But they are produced from the same code block, so they are equal
* block1 == block2
* #=> true
*
* # Another Proc will never be equal, even if the code is the "same"
* block1 == proc { puts 'test' }
* #=> false
*
*/
static VALUE
proc_eq(VALUE self, VALUE other)
{
Expand Down

0 comments on commit 816bbfd

Please sign in to comment.