質問編集履歴

2

コードの説明を記述しました。

2017/10/19 16:16

投稿

koume
koume

スコア458

test CHANGED
File without changes
test CHANGED
@@ -4,41 +4,55 @@
4
4
 
5
5
  ```ここに言語を入力
6
6
 
7
- if @ddd == @fff
8
-
9
- @lily = @ddd
10
-
11
- kkk = []
12
-
13
- kkk << @ccc
7
+ @cccにはチェックしたい主キーが入っています
14
-
8
+
15
- else
9
+ eeeには@cccの中の「在籍」のidが入っています。
16
-
10
+
17
- vvv = @ccc - eee
11
+ @dddには@cccの要素数が入っています。
12
+
18
-
13
+ ・@fffには@cccの中の「在籍」の要素数が入っています。
14
+
15
+
16
+
17
+
18
+
19
+ if @ddd == @fff------------------ # 要素数の数が同じだったらこの式から抜ける。          
20
+
21
+  @lily = @ddd ----------------- # @lilyの値をビューに渡し表示する。
22
+
23
+ else ---------------------------- # 要素数の数が違った場合、以下を実行する。
24
+
25
+ kkk = [] ---------------------- # kkkという空の配列を作る。
26
+
27
+ kkk << @ccc ------------------- # if文を実行するため配列kkkに値を入れる。
28
+
29
+ vvv = [] ---------------------- # register_checkで使用する配列を作成。
30
+
31
+ vvv = @ccc - eee -------------- # 配列vvvに不在の主キーを代入する。
32
+
33
+ register_check ---------------- # ここでvvvのグループの現在の月の在籍、不在をチェックする。
34
+
35
+ if kkk.empty? ---------------- # チェックした結果、在籍が 0 なら1回目のチェックをする。
36
+
19
- register_check
37
+ register_check  
20
-
21
- if kkk.empty?
38
+
22
-
23
- #register_check 
39
+ else -------------------------- # 在籍が1つ以上あれば以下を実行しこの式から抜ける。
24
-
25
- else
40
+
26
-
27
- eee << r
41
+ eee << r ------------------- # 在籍が1つ以上あれば配列にrを代入する。
28
-
42
+
29
- if kkk.empty?
43
+ if kkk.empty? --------------- # チェックした結果、在籍が 0 なら2回目のチェックをする。
30
44
 
31
45
  register_check 
32
46
 
47
+ else ------------------------ # 在籍が1つ以上あれば以下を実行しこの式から抜ける。
48
+
49
+ eee << r ------------------ # 在籍が1つ以上あれば配列にrを代入する。
50
+
51
+ if kkk.empty? ------------- # チェックした結果、在籍が 0 なら3回目のチェックをする。
52
+
53
+ register_check 「在籍」が確認出来るまで以下これを数回繰り返す。 
54
+
33
- else
55
+ else
34
-
35
- eee << r
36
-
37
- if kkk.empty?
38
-
39
- register_check 
40
-
41
- else
42
56
 
43
57
  eee << r
44
58
 
@@ -183,3 +197,11 @@
183
197
  end
184
198
 
185
199
  ```
200
+
201
+ 追記
202
+
203
+ コードの説明を記述中におかしなところがあったので少し編集しました。
204
+
205
+ 意味を持った変数名にしようとしましたがいいのが思いつかなかったので変更しておりません。すいません。
206
+
207
+ このような記述でチェックをして何回目かで「在籍」が確認できた場合(配列kkkが「空」じゃない。)にその時点でこの式から抜け出すようにしたいのですがこのような記述でいいのでしょうか?わかりにくくてすいません。宜しくお願いします。

1

register_checkのコードを追加しました。

2017/10/19 16:16

投稿

koume
koume

スコア458

test CHANGED
File without changes
test CHANGED
@@ -83,3 +83,103 @@
83
83
  質問内容が少し雑でわかりにくいかと思いますが、こんな感じで条件分岐をつなげての記述はできるのでしょうか?
84
84
 
85
85
  どなたか教えていただけないでしょうか?宜しくお願いします。
86
+
87
+
88
+
89
+ 追記
90
+
91
+ ```ここに言語を入力
92
+
93
+ def register_check
94
+
95
+ vvv.each do |t|
96
+
97
+ hhh = Customer.find_by(id: t)
98
+
99
+ iii = hhh.nickname
100
+
101
+ aaa = Sponsor.where(sponsor1: iii).pluck(:customer_id)
102
+
103
+ kkk = []
104
+
105
+ vvv = []
106
+
107
+
108
+
109
+ aaa.each do |u|
110
+
111
+ @coala = Ragister.find_by(customer_id: u)
112
+
113
+ if @month == 1
114
+
115
+ fox = @coala.jan
116
+
117
+ elsif @month == 2
118
+
119
+ fox = @coala.feb
120
+
121
+ elsif @month == 3
122
+
123
+ fox = @coala.mar
124
+
125
+ elsif @month == 4
126
+
127
+ fox = @coala.apr
128
+
129
+ elsif @month == 5
130
+
131
+ fox = @coala.may
132
+
133
+ elsif @month == 6
134
+
135
+ fox = @coala.jun
136
+
137
+ elsif @month == 7
138
+
139
+ fox = @coala.jul
140
+
141
+ elsif @month == 8
142
+
143
+ fox = @coala.aug
144
+
145
+ elsif @month == 9
146
+
147
+ fox = @coala.sep
148
+
149
+ elsif @month == 10
150
+
151
+ fox = @coala.oct
152
+
153
+ elsif @month == 11
154
+
155
+ fox = @coala.nov
156
+
157
+ else
158
+
159
+ fox = @coala.dec
160
+
161
+ end
162
+
163
+
164
+
165
+ if fox == "在籍"
166
+
167
+ kkk << u
168
+
169
+ end
170
+
171
+
172
+
173
+ if fox == "不在"
174
+
175
+ vvv << @ccc
176
+
177
+ end
178
+
179
+ end
180
+
181
+ end
182
+
183
+ end
184
+
185
+ ```