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

質問編集履歴

2

書式を少し改善しました

2018/10/27 08:26

投稿

Yu-no
Yu-no

スコア13

title CHANGED
File without changes
body CHANGED
@@ -2,7 +2,10 @@
2
2
 
3
3
  ruby初学者です。
4
4
 
5
+
6
+
5
- test.csv
7
+ ```csv
8
+
6
9
  A B C D E F G
7
10
  A 0 0 0 0 0 1 1
8
11
  B 0 0 0 0 0 1 0
@@ -11,7 +14,8 @@
11
14
  E 0 0 0 1 0 0 0
12
15
  F 1 1 1 0 0 0 1
13
16
  G 1 0 0 1 0 1 0
17
+ ```
14
- rubyで上記のような0,1のみで構成されたcsvデータを読み込み、2つの値を比較し、両方とも1ならnCountをカウントアップ。どちらか一方が1ならdCountをカウントアップ。両方とも0なら処理を行わない、といった処理を行いたいです。
18
+ rubyで上記のような0,1のみで構成されたcsv(test.csv)データを読み込み、2つの値を比較し、両方とも1ならnCountをカウントアップ。どちらか一方が1ならdCountをカウントアップ。両方とも0なら処理を行わない、といった処理を行いたいです。
15
19
  下記ソースコードのような処理を行った際、if文の条件が反映されずnCount=0,dCount=0が毎回出力されます。
16
20
  条件にdataset[i][k],dataset[j][k]を設定していることがいけないのかなと思うのですが、解決法を調べているうちに頭が混乱してしまい、手詰まりになってしまいました。
17
21
  アドバイスをいただければと思います。よろしくお願いいたします。

1

ソースコードの書式を少し変更しました

2018/10/27 08:26

投稿

Yu-no
Yu-no

スコア13

title CHANGED
File without changes
body CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  dataset = CSV.read('../test.csv', headers: false)
27
27
 
28
- nCount =0
28
+ nCount = 0
29
29
  dCount = 0
30
30
 
31
31
  (1..dataset[0].length-1).each do |i|
@@ -35,7 +35,7 @@
35
35
  # dataset[i][k]とdataset[j][k]に格納された2つの値を比較したい
36
36
  # p "(#{dataset[i][k]},#{dataset[j][k]})"
37
37
 
38
- if dataset[i][k] == 1 && dataset[j][k] == 1
38
+ if dataset[i][k] == 1 && dataset[j][k] == 1
39
39
  nCount += 1
40
40
  elsif dataset[i][k] == 1 && dataset[j][k] == 0 || dataset[i][k] == 0 && dataset[j][k] == 1
41
41
  dCount += 1
@@ -49,7 +49,7 @@
49
49
  p "------"
50
50
  end
51
51
 
52
- end
52
+ end
53
53
  ```
54
54
 
55
55