回答編集履歴

2

修正

2019/08/21 09:16

投稿

rhiroe
rhiroe

スコア2349

test CHANGED
@@ -10,17 +10,21 @@
10
10
 
11
11
  #=> #<Enumerator: ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"]:each_slice(3)>
12
12
 
13
- num.chars.each_slice(3).map(&:itself)
14
-
15
- #=> => [["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"]]
16
-
17
13
  num.chars.each_slice(3).join("A")
18
14
 
19
15
  #=> NoMethodError (undefined method `join' for #<Enumerator:0x00007fa8438ed530>)
20
16
 
17
+ num.chars.each_slice(3) { |x| x.join }
18
+
19
+ #=> nil
20
+
21
21
  num.chars.each_slice(3) { |x| x.join }.join('A')
22
22
 
23
23
  #=> NoMethodError (undefined method `join' for nil:NilClass)
24
+
25
+ num.chars.each_slice(3).map(&:itself)
26
+
27
+ #=> => [["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"], ["0", "0", "0"]]
24
28
 
25
29
  num.chars.each_slice(3).map(&:join).join('A')
26
30
 

1

加筆

2019/08/21 09:16

投稿

rhiroe
rhiroe

スコア2349

test CHANGED
@@ -28,6 +28,18 @@
28
28
 
29
29
  ```
30
30
 
31
+ 発生しているエラーはエラー文の通りです。
32
+
31
33
  `map`と`each`の違いは戻り値の違いです。
32
34
 
35
+ ```rb
36
+
37
+ [1,2,3].map(&1.method(:+))
38
+
33
- 発生しているエラーはエラー文の通りです。
39
+ #=> [2, 3, 4]
40
+
41
+ [1,2,3].each(&1.method(:+))
42
+
43
+ #=> [1, 2, 3]
44
+
45
+ ```