[#83096] File.setuid? on IO (Re: [ruby-cvs:67289] normal:r60108 (trunk): file.c: release GVL in File.{setuid?, setgid?, sticky?}) — Nobuyoshi Nakada <nobu@...>
On 2017/10/04 8:47, normal@ruby-lang.org wrote:
5 messages
2017/10/04
[#83100] Re: File.setuid? on IO (Re: [ruby-cvs:67289] normal:r60108 (trunk): file.c: release GVL in File.{setuid?, setgid?, sticky?})
— Eric Wong <normalperson@...>
2017/10/04
Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
[#83105] Re: File.setuid? on IO (Re: [ruby-cvs:67289] normal:r60108 (trunk): file.c: release GVL in File.{setuid?, setgid?, sticky?})
— Nobuyoshi Nakada <nobu@...>
2017/10/04
On 2017/10/04 15:55, Eric Wong wrote:
[#83107] Alias Enumerable#include? to Enumerable#includes? — Alberto Almagro <albertoalmagro@...>
Hello,
9 messages
2017/10/04
[#83113] Re: Alias Enumerable#include? to Enumerable#includes?
— "Urabe, Shyouhei" <shyouhei@...>
2017/10/05
This has been requested countless times, then rejected each and every time.
[#83129] Re: Alias Enumerable#include? to Enumerable#includes?
— Alberto Almagro <albertoalmagro@...>
2017/10/05
Sorry I didn't found it on the core mail list's archive.
[#83138] Re: Alias Enumerable#include? to Enumerable#includes?
— "Urabe, Shyouhei" <shyouhei@...>
2017/10/06
Ruby has not been made of popular votes so far. You have to show us
[#83149] Re: Alias Enumerable#include? to Enumerable#includes?
— Eric Wong <normalperson@...>
2017/10/06
Alberto Almagro <albertoalmagro@gmail.com> wrote:
[#83200] [Ruby trunk Feature#13996] [PATCH] file.c: apply2files releases GVL — normalperson@...
Issue #13996 has been reported by normalperson (Eric Wong).
4 messages
2017/10/10
[ruby-core:83139] [Ruby trunk Feature#12115] Add Symbol#call to allow to_proc shorthand with arguments
From:
Ruby-Lang@...
Date:
2017-10-06 00:53:09 UTC
List:
ruby-core #83139
Issue #12115 has been updated by jwmittag (J旦rg W Mittag).
knu (Akinori MUSHA) wrote:
> Wouldn't Array#to_proc make sense?
>
> ```ruby
> class Array
> def to_proc
> proc { |x| x.__send__(*self) }
> end
> end
>
> [100, 200, 300].map(&[:to_s, 16])
> # => ["64", "c8", "12c"]
> ```
I disagree: responding to `to_proc` in Ruby more or less means "I am a function-like thing". And arrays *are* function-like things, they are basically functions from their indices to their values. Having `to_proc` mean something *different* than that would be a big mistake, IMO. It would also be inconsistent with `Hash#to_proc`.
See #11653 (`Hash#to_proc`) for what I mean, and #11262 for a more comprehensive argument.
----------------------------------------
Feature #12115: Add Symbol#call to allow to_proc shorthand with arguments
https://bugs.ruby-lang.org/issues/12115#change-67081
* Author: felixbuenemann (Felix B端nemann)
* Status: Open
* Priority: Normal
* Assignee:
* Target version:
----------------------------------------
I am a great fan of the `Symbol#to_proc` shorthand when mapping or reducing collections:
```ruby
[1,2,16].map(&:to_s)
=> ["1", "2", "16"]
[1,2,16].reduce(&:*)
=> 32
```
I often wish it would be possible to pass an argument to the method when doing this, which currently requires a block and is more verbose:
```ruby
[1,2,16].map { |n| n.to_s(16) }
=> ["1", "2", "10"]
# active_support example
{id: 1, parent_id: nil}.as_json.transform_keys { |k| k.camelize :lower }.to_json
=> '{"id":1,"parentId":null}'
```
It would be much shorter, if ruby allowed this:
```ruby
[1,2,16].map(&:to_s.(16))
=> ["1", "2", "10"]
# active_support example
{id: 1, parent_id: nil}.as_json.transform_keys(&:camelize.(:lower)).to_json
=> '{"id":1,"parentId":null}'
```
This can be implemented easily, by adding the `Symbol#call` method:
```ruby
class Symbol
def call(*args, &block)
->(caller, *rest) { caller.send(self, *rest, *args, &block) }
end
end
```
*Source*: [stackoverflow: Can you supply arguments to the map(&:method) syntax in Ruby?](http://stackoverflow.com/questions/23695653/can-you-supply-arguments-to-the-mapmethod-syntax-in-ruby)
**I think this is a rather common use case, so I propose to add `Symbol#call` to the Ruby standard library.**
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>