Document Proc#==
This commit is contained in:
parent
861dbd9506
commit
816bbfdc87
Notes:
git
2020-12-22 09:23:04 +09:00
26
proc.c
26
proc.c
@ -1273,6 +1273,32 @@ rb_proc_get_iseq(VALUE self, int *is_proc)
|
|||||||
return NULL;
|
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
|
static VALUE
|
||||||
proc_eq(VALUE self, VALUE other)
|
proc_eq(VALUE self, VALUE other)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user