where it all began ?

映画と生活

【Ruby】コードの善し悪し

『初めてのRuby』を熟読してきて、他の人のアルゴリズムのソースとかも観るようになったわけだけど、ある程度Rubyのコードとしての善し悪しがわかるようになってきた。

 

例えば、バブルソートを書いてみようと思って、googleで検索してみると上位何件かコードが出てくる。そのうち、明らかにおかしなコード(通称ウンコード)として思うのは。

 

・値の入れ替えにわざわざ一時的な変数を使っててクドイ。

    tmp = arr[1] 

     arr[1] = arr[2]

    arr[2] = tmp

    

    これでいける。視覚的にもわかりやすい。

    arr[1], arr[2] = arr[2], arr[1]

 

・for分使ってる

    rubyでfor分使うメリットてほとんどなくて、実際のところ、

    array[].each do |i|

    end

    この構文で行ける。というかfor分自体、裏で.eachのメソッドを呼んでるだけ

 

個人的にはここのコードが好き。

素晴らしくわかりやすい。

 

また、ベンチマークとりながらどのコードが早いのか、調べてみよう。

 

 

初めてのRuby

初めてのRuby