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

回答編集履歴

3

回答を修正

2021/01/05 03:27

投稿

rhiroe
rhiroe

スコア2352

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  > 簡単な練習問題をクラスメソッドで実装する利点(トップクラスでメソッド定義したりすればいいのでは)
2
2
 
3
- リンク先の回答のモジュールは`self`を`extend`しているのでトップレベルでモジュールを定義している場合、トップレベルのメソッド定んど同義です。定義したメソッド群に対してわかりやすく名前をつけている程度の捉え方でいい思います
3
+ トップレベルのインスタンスメソッドにするには使用が限的であるので不適切であるいうのが一番大きな理由だ思います。それと副産物的なものですが、定義したメソッド群に対してわかりやすく名前をつけているとかでしょうか
4
4
 
5
5
  > またクラスメソッドでなくモジュールで定義する利点を教えてください。
6
6
 

2

修正

2021/01/05 03:27

投稿

rhiroe
rhiroe

スコア2352

answer CHANGED
@@ -5,7 +5,7 @@
5
5
  > またクラスメソッドでなくモジュールで定義する利点を教えてください。
6
6
 
7
7
  メソッドが関数的に使われているのでRubyっぽくはないですね。特に利点があるとも思いません。
8
- クラスを定義して `generate_matrix` の処理なんかは `initialize` でやるとRubyっぽくなるかなと思います。
8
+ クラスを定義して `generate_matrix` の処理なんかは少し改良して `initialize` でやるとRubyっぽくなるかなと思います。
9
9
 
10
10
  ---
11
11
 

1

追記

2021/01/05 02:41

投稿

rhiroe
rhiroe

スコア2352

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  > 簡単な練習問題をクラスメソッドで実装する利点(トップクラスでメソッド定義したりすればいいのでは)
2
2
 
3
- リンク先の回答のモジュールは`self`を`extend`しているのでトップレベルでモジュールを定義している場合、トップレベルのメソッド定義とほとんど同義です。
3
+ リンク先の回答のモジュールは`self`を`extend`しているのでトップレベルでモジュールを定義している場合、トップレベルのメソッド定義とほとんど同義です。定義したメソッド群に対してわかりやすく名前をつけている程度の捉え方でいいと思います。
4
4
 
5
5
  > またクラスメソッドでなくモジュールで定義する利点を教えてください。
6
6