Madogiwa Blog

主に技術系の学習メモに使っていきます。

Ruby:初心者向け今すぐ使えるいい感じの書き方まとめ

はじめに

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を使用すると見やすく書けると思います。

おわりに

とりあえず、思いついたものを書いてみました! ソースコードが見やすくなると時間がたったあとでも処理が思い出しやすくなったり、 モチベーションがあがりますよね!

また思いついたら追記しようと思いますφ(..)