質問するログイン新規登録

回答編集履歴

2

修正

2019/07/26 05:52

投稿

rhiroe
rhiroe

スコア2352

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  `group_by` でグループ分けして、その後`map`で`format_name`ごとにそれぞれ加算処理するとかですかね
2
2
 
3
- ruby2.6 から`merge`が引き数複数個持てるようになってたみたいなのでそっちの方がスッキリするかも
3
+ ruby2.6 から`merge`が引き数複数個持てるようになってたみたいなのでそれ使えばスッキリするかも
4
4
 
5
5
  ```rb
6
6
  user_and_format_data.group_by { |h| h[:format_name] }.values

1

修正

2019/07/26 05:52

投稿

rhiroe
rhiroe

スコア2352

answer CHANGED
@@ -1,1 +1,8 @@
1
- `group_by` でグループ分けして、その後`map`で`format_name`ごとにそれぞれ加算処理するとかですかね
1
+ `group_by` でグループ分けして、その後`map`で`format_name`ごとにそれぞれ加算処理するとかですかね
2
+
3
+ ruby2.6 から`merge`が引き数複数個持てるようになってたみたいなのでそっちの方がスッキリするかも
4
+
5
+ ```rb
6
+ user_and_format_data.group_by { |h| h[:format_name] }.values
7
+ .map{ |v| {}.merge(*v) { |k,o,n| k == :imp ? o+n : n }}
8
+ ```