From: rubikitch@... Date: 2008-02-07T00:34:59+09:00 Subject: [ruby-list:44579] Re: Ruby初心者が作りました From: Kabu and Ruby管理人 Subject: [ruby-list:44578] Ruby初心者が作りました Date: Thu, 7 Feb 2008 00:03:34 +0900 るびきちです。 > http://www.geocities.jp/kabuandruby/index.html > 株価を自動DLします。 > いろいろ意見をもらえたらと思います。 コードを読んでみました。とりあえずコメントしときます。 * 日本語を含むコードなので一行目に「#! ruby -Ks」と入れてください。 「$KCODE='s'」していますが、それでは遅いです。 なぜなら、Rubyインタプリタがスクリプトを読む時点でスクリプトの文字コードが Shift_JISであることを認識する必要があるからです。 * Rubyスクリプトの標準的なインデントは2です。インデントをきれいにしましょう。 * 自分でString#to_sjis(Stringクラスのto_sjisメソッド)を定義していますが、 「require 'kconv'」すればString#tosjisメソッドが使えます。 * CSVファイルの解析には標準ライブラリのcsv.rbを使ってみましょう。 自分で解析をがんばるよりもライブラリを使う方がバグを減らせます。 * regExは文字列ではなくて正規表現オブジェクトを使ってみましょう。 * 処理ごとに関数(メソッド)に分けると何をやっているかがわかりやすくなります。 * 「puts a.to_s + ' ' + b.to_s」は「puts "#{a} #{b}"」のほうがわかりやすいです。 #{}による式展開の結果が非文字列の場合は内部でto_sを呼んでくれます。 * エラーメッセージは「$stderr.puts」で標準エラー出力に出しましょう。 -- rubikitch Blog: http://d.hatena.ne.jp/rubikitch/ Site: http://www.rubyist.net/~rubikitch/