From: matz@... Date: 2017-04-17T06:47:03+00:00 Subject: [ruby-core:80722] [Ruby trunk Feature#13172] Method that yields object to block and returns result Issue #13172 has been updated by matz (Yukihiro Matsumoto). I don't think "pass" is a good name for it. Matz. ---------------------------------------- Feature #13172: Method that yields object to block and returns result https://bugs.ruby-lang.org/issues/13172#change-64273 * Author: Nondv (Dmitriy Non) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- Hi everyone! There's a `#tap` method, that yields reciever to block and returns reciever itself. I would like to see method, which would return yield's result. ~~~ some_object.some_method.pass { |x| x && another_object.another_method(x) } ~~~ I've seen many code samples that had a some "middle-variables" to store `#some_method` result. Those variables are useless after few lines of code, so it would be great to create them in a limited scope (block). P.S. I am very sorry for my english. I hope you understood me:D P.P.S. I think there should be a better name than `pass` for such method UPD. I've created a PR to see if `#pass` fits: https://github.com/ruby/ruby/pull/1521 ~~~ $ irb >> Time.now.pass { |t| t.sunday? ? 'Yay!' : ':(' } ==> ":(" ~~~ ---Files-------------------------------- method_pass.patch (904 Bytes) -- https://bugs.ruby-lang.org/ Unsubscribe: