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

回答編集履歴

3

追記0

2021/10/10 08:59

投稿

BeatStar
BeatStar

スコア4962

answer CHANGED
@@ -108,4 +108,28 @@
108
108
 
109
109
  まだわかりにくい部分があれば、同じように流れを考える。
110
110
 
111
+ で、(3.1)での"+---+" のやつは、どの行?でも同じ長さですね。完全固定。
112
+ なので、一度定義すれば単に描画すればいいだけです。
113
+
111
- (一時中断)
114
+ と考えると、
115
+
116
+ ```
117
+ [Flow]
118
+ 1. 列のそれぞれの最大行数を計算する
119
+ 2. ヘッダに相当する、"名前"等の部分を(1)を最大数としてセンタリングして表示
120
+ 3. (2)の長さ分、"+---+"のような文字列を生成
121
+ 4. 以下を『書くものが無くなるまで』繰り返す
122
+ 4.1. (3)で生成した文字列を表示
123
+ 4.2. (2)の要領で『左揃え』や『右揃え』で表示していく
124
+ 5. (3)で生成した文字列を表示
125
+ ```
126
+
127
+ のような感じになりますね。(順番が変わる可能性があるが)
128
+
129
+ [コメントにて]
130
+ > 1番の何を書くかを考えるについてですが、...
131
+
132
+ あ、それでもいいですよ。
133
+
134
+ とりあえず、一気に作るのではなく、少しづつ作っていってください。
135
+ 自分の考えが正しいかどうかもそれでわかります。

2

追記0

2021/10/10 08:59

投稿

BeatStar
BeatStar

スコア4962

answer CHANGED
@@ -54,15 +54,15 @@
54
54
  というのを、
55
55
 
56
56
  ```
57
- |   名前   | 国語 | 数学
57
+ | 名前 |国語|数学|
58
- +----------------------------------+
58
+ +----------------------+
59
- |田中ゆうき    |  80| |
59
+ |田中ゆうき | 80| |
60
- +----------------------------------+
60
+ +----------------------+
61
- |佐藤かつひこ  |   | 50|
61
+ |佐藤かつひこ| | 50|
62
- +----------------------------------+
62
+ +----------------------+
63
63
  ```
64
64
 
65
- の状態にするにはどうしますか?
65
+ の状態にするにはどうしますか? (なんかズレがあるようなのでこちらで適当に修正しています。違う所があるなら読みかえてください)
66
66
 
67
67
  私なら、
68
68
 
@@ -79,4 +79,33 @@
79
79
 
80
80
  つまり、**規則性を見付ける**のです。
81
81
 
82
+ 何を書くか(= 1)は元のデータ "田中ゆうき,国語,80" とかの二番目から考える。
83
+
84
+ それぞれのセル云々(= 2) は『その列の最大行数から考える』。
85
+
86
+ 文字や数字はどのように並んでいるか(= 3, 4)は『項目名は中央揃え、名前は左揃え、点数は右寄せ』。
87
+
88
+ "+---+" の長さ(= 5) は『レコード(*1)の長さ分』。
89
+ *1: ここでいうレコードは、一行分のデータ列(ただし"|"等も含めている)
90
+
91
+ 6は2と一緒ですね。
92
+
93
+ 次に実際にノートかホワイトボードかなんかに上記の表を書いてみましょう。
94
+
95
+ ````
96
+ [Flow]:
97
+ 1. Excelでいう列のそれぞれの最大行数を求める
98
+ 2. (1)のそれぞれの長さを『最大値』として"名前"や"国語"等が中心に来るように書く
99
+ 3. 以下を『書くものが無くなるまで』繰り返す
100
+ 3.1. (2)で出来た行の最大の長さ分、"+---+" 的なものを書く
101
+ 3.2. (2)と同様に『名前を左揃え』、『数字を右揃え』で書く
102
+ 4. (3.1)と同様に線を引く
103
+ ````
104
+
105
+ みたいな流れになるはずです。(まあ、実際には(3.1)と(3.2)が逆になるかもしれないが )
106
+
107
+ 後はこれを実装すればいいだけです。
108
+
109
+ まだわかりにくい部分があれば、同じように流れを考える。
110
+
82
- (一中断)
111
+ (一中断)

1

追記0

2021/10/10 08:50

投稿

BeatStar
BeatStar

スコア4962

answer CHANGED
@@ -71,8 +71,12 @@
71
71
  2. それぞれのセル(?)の長さはどういう風にするか(長さの基準等)
72
72
  3. 文字はどのように並んでいるか(右揃え? 左揃え? センタリング? )
73
73
  4. 数字(国語の点数等)はどのように並んでいるか(〃)
74
+ 5. 区切り線(?)の"+----+"のやつの長さはどうするか
75
+ 6. 区切り線(?)の"|"はどのように入れるか(位置とか)
74
76
  ```
75
77
 
76
78
  をそれぞれ考える。
77
79
 
78
- つまり、**規則性を見付ける**のです。
80
+ つまり、**規則性を見付ける**のです。
81
+
82
+ (一旦中断)