🐡
[Feature #11446] `.map(&メソッド名, そのメソッドの引数)` のような形で引数を渡せるようにする提案
[Feature #11446] Possible work around for the requirement to supplying arguments like this: .map(&:method, <arguments>)
-
.map(&メソッド名, そのメソッドの引数)
のような形で引数を渡せるようにする提案 - このチケット自体は8年前になるんですが、最近コメントがされていて目に付きました
- コメントだと以下のコードが提示されていたのでこういう事がやりたいんですかね?
module Enumerable
def each_call(method, *args, &) = each { _1.send method, *args, & }
def map_call!(method, *args, &) = map! { _1.send method, *args, & }
# ...
end
# [1,2].map! &:+, 1
p [1,2].map_call! :+, 1
# [].each &:instance_eval do
%w[1 2].each_call :instance_eval do
@v = 1
end
- 今だと Numbered parameters を使ったほうがシンプルに書けますねー
p [1, 2].map { _1 + 1 }
%w[1 2].each do
_1.instance_eval { @v = 1}
end
Discussion