each_with_object 的作用是什么?从哪里得到选择? https://github.com/bodrovis/lokalise_manager/blob/master/lib%2Flokalise_manager%2Ftask_definitions%2Fbase.rb#L23
primary_opts = global_config
.singleton_methods
.filter { |m| m.to_s.end_with?('=') }
.each_with_object({}) do |method, opts|
reader = method.to_s.delete_suffix('=')
opts[reader.to_sym] = global_config.send(reader)
end
# *your text*
尝试了 ruby 网站上的后部文档
each_with_object
以与 each
类似的方式迭代可枚举。但允许您向块传递一个附加对象(如本例中的空哈希),并在最后返回该对象。
这是一个简化的示例。而不是
hash = {}
[1, 2, 3].each do |number|
hash[number] = number * number
end
hash
#=> { 1 => 1, 2 => 4, 3 => 9 }
each_with_object
允许您写:
[1, 2, 3].each_with_object({}) do |number, hash|
hash[number] = number * number
end
#=> { 1 => 1, 2 => 4, 3 => 9 }