Feature #7394

Enumerable#find ifnone parameter could be non-callable

Added by Zachary Scott over 1 year ago. Updated over 1 year ago.

[ruby-core:49557]
Status:Assigned
Priority:Normal
Assignee:Nobuyoshi Nakada
Category:core
Target version:next minor

Description

=begin
from github:
https://github.com/ruby/ruby/pull/186

In trunk the Enumerable #find method ifnone parameter has to be callable or nil. I found that sometimes I want to return a simple value without wrapping it in a proc. This pull request adds support for non-callable defaults when no items match.

(({a = [1, 2, 3]}))

The current behavior
(({a.find(proc { :foo }) { |x| x > 3 } #=> :foo}))

With patch
(({a.find(0) { |x| x > 3 } #=> 0}))
=end

enumerable_find_noncallable.patch Magnifier (3.45 KB) Zachary Scott, 11/19/2012 12:36 PM

History

#1 Updated by Yusuke Endoh over 1 year ago

  • Status changed from Open to Assigned
  • Target version changed from 2.0.0 to next minor

Zachary Scott, please don't add 2.0.0 feature ticket unless I approve. The 2.0.0 feature deadline was passed.

Yusuke Endoh mame@tsg.ne.jp

#2 Updated by Yusuke Endoh over 1 year ago

Oh, I didn't realized that this ticket was from github pull reqeust.
Thank you for your importing work!
But, the fact remains that this proposal was not accepted by the 2.0.0 deadline. Sorry.

It is unfortunate that people misunderstands that github pullreq is the right way to request a feature to Ruby.
Is it impossible to stop (or automatically reject) pullreq?

Yusuke Endoh mame@tsg.ne.jp

#3 Updated by Zachary Scott over 1 year ago

This was during my import of patches from github to redmine.

You can turn off pull requests on github, maybe start a new thread to discuss that.

Also available in: Atom PDF