Rubyにおいてクラスやメソッドを定義するメリットとはなんでしょうか?
テキスト分析をする際にwhile文を使ったりするのですが、何個もwhile文を書くことになったり、同じようなコードを書いてしまうことがあるのですが、そんなときにクラスやメソッドを使うとコードを減らすことができたりするのでしょうか?
Rubyを初めてまだ1ヶ月ぐらいなのですが、クラスやメソッドを自分で定義していくメリットというのがイマイチ分からず、どんなときにそれを使うのかがわかりません。
メソッドは、eachメソッドやgsubメソッドなどは使えるのですが、
def ~ end のようなタイプのコードがどのような場面で有効なのかということです。
かなり初歩的な疑問だとは思いますが、ご意見頂けたら幸いです。
例えば、以下のプログラムでも動きはするのですが、クラスやdef~のようなメソッドを作ることでもっときれいなコードを書くことができるのでしょうか?今のところ、クラスやメソッド定義無しのプログラムしか書くことができず、また、そのような視点でプログラムを書くことができません。
ruby
1 2Dir::chdir("SO_word_list") 3word_list_year = Dir.glob("*") 4i = 0 5new_SO = [] 6while i < word_list_year.size 7 word_list_SO = File.read(word_list_year[i]) 8 new_SO << word_list_SO.split(/\n/) 9 #p new_SO 10 i += 1 11end 12Dir::chdir("../NSO_word_list") 13word_list_year2 = Dir.glob("*") 14i2 = 0 15new_NSO = [] 16while i2 < word_list_year2.size 17 word_list_NSO = File.read(word_list_year2[i2]) 18 new_NSO << word_list_NSO.split(/\n/) 19 #p new_NSO 20 i2 += 1 21end 22 23Dir::chdir("../NSO_only_word") 2411.times do |i3| 25 File.open("#{i3+2006}.txt", "w") do |word| 26 word.puts new_NSO[i3] - new_SO[i3] #SOの単語 27 end 28end 29
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/09 08:42
退会済みユーザー
2017/07/09 08:49