From: "zzak (Zachary Scott)" Date: 2012-11-24T12:16:18+09:00 Subject: [ruby-core:49990] [ruby-trunk - Feature #7394] Enumerable#find ifnone parameter could be non-callable Issue #7394 has been updated by zzak (Zachary Scott). 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. ---------------------------------------- Feature #7394: Enumerable#find ifnone parameter could be non-callable https://bugs.ruby-lang.org/issues/7394#change-33759 Author: zzak (Zachary Scott) Status: Assigned Priority: Normal Assignee: nobu (Nobuyoshi Nakada) Category: core Target version: next minor =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 -- http://bugs.ruby-lang.org/