1
0
Fork 0
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:
Nobuyoshi Nakada 2019-06-21 17:53:32 +09:00
parent 432b28af90
commit 16729f6430
No known key found for this signature in database
GPG key ID: 4BC7D6DF58D8DF60

View file

@ -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