はじめに
Rubyですぐに使えそうな見やすい書き方を自分のためにも整理してみました(/・ω・)/
書き方
複数行の代入
before
hoge.title = "hoge_name" hoge.read = "hoge_name" hoge.content = "hoge_content"
after
hoge.title = "hoge_name" hoge.read = "hoge_name" hoge.content = "hoge_content"
=
の位置を合わせた方が見やすいです!
bool型の判定
before
if flg == true puts hoge end
after
if flg puts hoge end
bool型の場合は、そのままでOKです!
1行のdo…end
before
hoge.each do |h| puts h end
after
hoge.each{ |h| puts h }
1行であれば{...}
を使用した方が見やすいです!
1行のif分
before
if hoge puts hoge end
after
puts hoge if hoge
実行したい処理が1行であれば、後ろにifをつけた方が見やすいです!
複数値の判定
before
if hoge == "a" || hoge == "b" || hoge == "c" puts hoge end
after
if ["a", "b", "c"].include(hoge) puts hoge end
対象を配列にいれてしまってinclude?
で判定したほうが見やすいと思います!
範囲の判定
before
if 0 < hoge && hoge < 100 puts hoge end
after
if hoge.between?(1,99) puts hoge end
between?(min, max)
で判定したほうが見やすいと思います!
配列中で特定の条件に合致する要素のみを抽出
before
values = ["a", "a", "b", "c" ] result = [] values.each |v| do result.push(v) if v == "a" end
after
values = ["a", "a", "b", "c" ] result = values.select{ |v| v == "a"}
select{条件}
を使用すると見やすく書けると思います。
クラスの配列から特定のプロパティ値の配列を取得する
before
result = []
hoges.each { |h| result.push(h.name) }
after
reslut = hoges.map{ |h| h.name }
map
を使用すると見やすく書けると思います。
おわりに
とりあえず、思いついたものを書いてみました! ソースコードが見やすくなると時間がたったあとでも処理が思い出しやすくなったり、 モチベーションがあがりますよね!
また思いついたら追記しようと思いますφ(..)