« ISBN10とISBN13を相互に変換するRubyプログラム | メイン | 受験科目に数学が入っていた人の方が年収が高い。 »

Rubyらしいコードの書き方(入門編)

他人が書いたRubyのコードを見て、Rubyらしくないと思ったところがありました。
このように直すと、Rubyらしいコードになると思います。

String#+ よりも、 "#{String}"を使う。
obj.to_sしなくてもいいし。

String#+の例

year.to_s + "年" + month.to_s + "月" + day.to_s + "日"

"#{String}"の例

"#{year}年#{month}月#{day}日"

sprintf(String, *args)は、String#%と同じ。

sprintf(String, *args)の例

sprintf("%d年%d月%d日", year, month, day)

String#%の例

"%d年%d月%d日" % [year, month, day]

obj = obj + 1 は、obj += 1 と同じ。

nilとの比較は obj == nil より obj.nil? を使う。入力数が短い。

変数が初期化されていない時に初期化する処理で、よくあるのが次の書き方。

if value == nil
  value = 1
end

これは簡潔に書ける。

value ||= 1

Ruby on RailsにあるActiveSuppoertで追加されるメソッド blank? は便利なので、知っておいた方がいい。

if value == nil or value.size == 0

というコードが、

if value.blank?

と書けます。

トラックバック

このエントリーのトラックバックURL:
http://www.gesource.jp/mt/mt-tb.cgi/748

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2008年05月22日 23:06に投稿されたエントリーのページです。

ひとつ前の投稿は「ISBN10とISBN13を相互に変換するRubyプログラム」です。

次の投稿は「受験科目に数学が入っていた人の方が年収が高い。」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35