質問編集履歴

3

修正依頼のため

2019/06/04 09:51

投稿

kr_
kr_

スコア11

test CHANGED
@@ -1 +1 @@
1
- Ruby 2次元配列 挿入
1
+ Ruby 2次元配列 要素 挿入
test CHANGED
File without changes

2

修正依頼のため

2019/06/04 09:51

投稿

kr_
kr_

スコア11

test CHANGED
File without changes
test CHANGED
@@ -38,15 +38,97 @@
38
38
 
39
39
 
40
40
 
41
+
42
+
43
+ やりたいことはテキストファイルに
44
+
45
+ ```txt
46
+
47
+ 1
48
+
49
+ 内容
50
+
51
+ 2
52
+
53
+ 内容
54
+
55
+ 内容
56
+
57
+ 3
58
+
59
+ 内容
60
+
61
+ .
62
+
63
+ .
64
+
65
+ .
66
+
67
+ ```というファイルがあってこれを
68
+
69
+ [[1, 内容],
70
+
71
+ [2,内容,内容],
72
+
73
+ [3,内容]]
74
+
75
+ という配列にしたいと思っています。
76
+
77
+
78
+
79
+ 現在書いているのはこのコードです。
80
+
41
81
  ```Ruby
42
82
 
43
- #2次元配列の初期化
83
+ #! ruby -Ku
44
84
 
45
- list = Array.new(2) { Array.new(2,0) }
46
85
 
86
+
87
+ cur_dir = Dir.pwd
88
+
89
+
90
+
91
+ before_list = []
92
+
93
+ after_list = Array.new(2) { Array.new(2,0) }
94
+
95
+ list_size = 0
96
+
97
+
98
+
99
+ File.open(cur_dir + "/hoge.txt", "r") do |file|
100
+
101
+ before_list = file.readlines
102
+
103
+ end
104
+
105
+
106
+
107
+ before_list.each { |line|
108
+
109
+ contents_size = 0
110
+
111
+ if line.match(/^[0-9]+$/)
112
+
113
+ after_list[list_size][0] = line[0]
114
+
115
+ list_size += 1
116
+
117
+ else
118
+
47
- list[hoge].push(hogehoge)
119
+ after_list[list_size].push(hoge)
120
+
121
+ contents_size += 1
122
+
123
+ end
124
+
125
+ }
126
+
127
+
48
128
 
49
129
  ```
130
+
131
+
50
132
 
51
133
  をしても
52
134
 

1

ミスで記入途中で投稿してしまったため、内容を記入した。

2019/06/04 09:33

投稿

kr_
kr_

スコア11

test CHANGED
File without changes
test CHANGED
@@ -6,14 +6,50 @@
6
6
 
7
7
 
8
8
 
9
+ [ [0, 0, 0],
10
+
9
- [
11
+ [0, 0, 0] ]
10
12
 
11
13
 
12
14
 
15
+ が用意されている2次元配列に新たにpushをして
13
16
 
14
17
 
15
18
 
19
+ [ [0, 0, 0, 1, 1],
20
+
21
+ [0, 0, 0] ]
16
22
 
17
23
 
18
24
 
25
+ ができるかどうか、または
26
+
27
+
28
+
29
+ [ [0, 0, 0, 1, 1],
30
+
31
+ [0, 0, 0],
32
+
33
+ [0, 0, 0]]
34
+
35
+
36
+
37
+ ができるかどうか教えていただきたいです。
38
+
39
+
40
+
41
+ ```Ruby
42
+
43
+ #2次元配列の初期化
44
+
45
+ list = Array.new(2) { Array.new(2,0) }
46
+
47
+ list[hoge].push(hogehoge)
48
+
19
- ]
49
+ ```
50
+
51
+ をしても
52
+
53
+ undefined method 'push' for nil:NilClass(NoMethodError)
54
+
55
+ と出てきてしまいます。