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?

と書けます。

コメント

  1. Pingback: alifedesign

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください