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

回答編集履歴

3

微修正

2018/10/27 01:09

投稿

退会済みユーザー
answer CHANGED
@@ -11,10 +11,10 @@
11
11
 
12
12
  ######1.について、ではどうすればいいでしょうか。
13
13
 
14
- **1. ファイルの読み出し**
14
+ **1.1. ファイルの読み出し**
15
15
  一度最初に読み込めばいいですよね。なのでコンストラクタで読みだせばいいです。
16
16
 
17
- **2. 変換表をメソッドで利用するために**
17
+ **1.2. 変換表をメソッドで利用するために**
18
18
  ファイルを読み込んだのはいいですが、変換表をメソッドで利用できるよう保持しておく必要があります。
19
19
  保持する形式としては、変換に易そうな辞書をクラスのメンバとするのがよさそうです。
20
20
 

2

修正

2018/10/27 01:09

投稿

退会済みユーザー
answer CHANGED
@@ -1,12 +1,21 @@
1
- 結論から言うと、**文字からモールス信号への変換表を、辞書(キー:文字, 値:モールス信号)で持ちましょう**
1
+ ######結論から言うと、**文字からモールス信号への変換表を、コンストラクタで読み込み、辞書(キー:文字, 値:モールス信号)で持ちましょう**
2
2
 
3
3
  コードを見直してみましょう、メソッド名とメソッドの実処理が一致していなさそうです。
4
4
 
5
- 1. encodeChar: 文字をモールス信号に変換する
5
+ **1. encodeChar: 文字をモールス信号に変換する**
6
6
  変換するだけなのに、なぜかファイルから変換表を読み込んでしまっています。毎度ファイルを読み込むのは不自然で、一度にしたいです。
7
7
  また仮にそれでいいとしても、ファイルのオープンをこのメソッドでなくコンストラクタで行っているため、このメソッドを一度使用した後は、(ファイルを最後まで読み進めてしまっていますし、クローズもされてしまっていて)次にメソッドを利用するときにファイルをまた最初から読み始めることができません。
8
8
 
9
- 2. encodeWord: 単語(文字列)をモールス信号に変換する
9
+ **2. encodeWord: 単語(文字列)をモールス信号に変換する**
10
10
  これはOKです。
11
11
 
12
+ ######1.について、ではどうすればいいでしょうか。
13
+
14
+ **1. ファイルの読み出し**
15
+ 一度最初に読み込めばいいですよね。なのでコンストラクタで読みだせばいいです。
16
+
17
+ **2. 変換表をメソッドで利用するために**
18
+ ファイルを読み込んだのはいいですが、変換表をメソッドで利用できるよう保持しておく必要があります。
19
+ 保持する形式としては、変換に易そうな辞書をクラスのメンバとするのがよさそうです。
20
+
12
- で、コンストラクタでファイルを読み込み、**文字からモールス信号への変換表を、辞書(キー:文字, 値:モールス信号)で持ちましょう**という結論になります。
21
+ と、長々と書きましたがそんわけで、**文字からモールス信号への変換表を、コンストラクタで読み込み、辞書(キー:文字, 値:モールス信号)で持ちましょう**という結論になります。

1

微修正

2018/10/27 01:08

投稿

退会済みユーザー
answer CHANGED
@@ -1,12 +1,12 @@
1
1
  結論から言うと、**文字からモールス信号への変換表を、辞書(キー:文字, 値:モールス信号)で持ちましょう**
2
2
 
3
- 追っ説明すると、、メソッド名とメソッドの実処理が一致していません
3
+ コード見直ししょう、メソッド名とメソッドの実処理が一致していなさそうです
4
4
 
5
5
  1. encodeChar: 文字をモールス信号に変換する
6
- 変換するだけなのに、なぜかファイルから変換表を読み込んでいます。毎度ファイルを読み込むのは不自然で、一度にしたいですよね
6
+ 変換するだけなのに、なぜかファイルから変換表を読み込んでしまっています。毎度ファイルを読み込むのは不自然で、一度にしたいです。
7
7
  また仮にそれでいいとしても、ファイルのオープンをこのメソッドでなくコンストラクタで行っているため、このメソッドを一度使用した後は、(ファイルを最後まで読み進めてしまっていますし、クローズもされてしまっていて)次にメソッドを利用するときにファイルをまた最初から読み始めることができません。
8
8
 
9
9
  2. encodeWord: 単語(文字列)をモールス信号に変換する
10
- これはいいです。
10
+ これはOKです。
11
11
 
12
12
  なので、コンストラクタでファイルを読み込み、**文字からモールス信号への変換表を、辞書(キー:文字, 値:モールス信号)で持ちましょう**という結論になります。