mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Remove duplicate functions
This commit is contained in:
parent
432b28af90
commit
16729f6430
1 changed files with 2 additions and 33 deletions
35
enumerator.c
35
enumerator.c
|
@ -2026,39 +2026,6 @@ lazy_select(VALUE obj)
|
|||
return lazy_add_method(obj, 0, 0, Qnil, Qnil, &lazy_select_funcs);
|
||||
}
|
||||
|
||||
static VALUE
|
||||
lazy_filter_map_proc(RB_BLOCK_CALL_FUNC_ARGLIST(val, m))
|
||||
{
|
||||
VALUE result = rb_yield_values2(argc - 1, &argv[1]);
|
||||
if (RTEST(result)) {
|
||||
rb_funcall(argv[0], idLTLT, 1, result);
|
||||
}
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
/*
|
||||
* call-seq:
|
||||
* lazy.filter_map { |obj| block } -> lazy_enumerator
|
||||
*
|
||||
* Returns an enumerator which will return a new array containing the
|
||||
* truthy results (everything except +false+ or +nil+) of running the
|
||||
* +block+ for every element in +lazy+.
|
||||
*
|
||||
* (1..).lazy.filter_map { |i| i * 2 if i.even? }.first(5) #=> [4, 8, 12, 16, 20]
|
||||
*
|
||||
*/
|
||||
static VALUE
|
||||
lazy_filter_map(VALUE obj)
|
||||
{
|
||||
if (!rb_block_given_p()) {
|
||||
rb_raise(rb_eArgError, "tried to call lazy filter_map without a block");
|
||||
}
|
||||
|
||||
return lazy_set_method(rb_block_call(rb_cLazy, id_new, 1, &obj,
|
||||
lazy_filter_map_proc, 0),
|
||||
Qnil, 0);
|
||||
}
|
||||
|
||||
static struct MEMO *
|
||||
lazy_filter_map_proc(VALUE proc_entry, struct MEMO *result, VALUE memos, long memo_index)
|
||||
{
|
||||
|
@ -2078,6 +2045,8 @@ static const lazyenum_funcs lazy_filter_map_funcs = {
|
|||
* lazy.filter_map { |obj| block } -> lazy_enumerator
|
||||
*
|
||||
* Like Enumerable#filter_map, but chains operation to be lazy-evaluated.
|
||||
*
|
||||
* (1..).lazy.filter_map { |i| i * 2 if i.even? }.first(5) #=> [4, 8, 12, 16, 20]
|
||||
*/
|
||||
|
||||
static VALUE
|
||||
|
|
Loading…
Reference in a new issue