kiyoka.2009_05_29 RSSPLAIN

Related pages: !kiyoka.blog.list !kiyoka.blog.2009_05
55555555555555555555555555
5

[Ruby] Scheme脳に偏った変なコーディングについて

5

私はRubyでプログラミングする時、次の様にRubyらしからぬコーディングスタイルを取る。(仕事では同僚とコード共有するのであまりやらないけど)

5
  1210-1240955589bN31
5

 

5
1. return は書かない
5

最後の評価値がそのブロックまたはメソッドの戻り値なので、あえてreturnを書く必要なし。

5

 

5
2. 内部関数を定義する
5

methodの内側にローカル関数を定義したい時は lambdaを使って関数定義する。

5

どこかのrubyバージョンからdefをネストで定義できる様になったんだっけかな?

5

 

5
3. 配列に対しての破壊的操作を避ける。
5

このような書きかたをするなら

5
 newArr = []
5
 arr.each { |x|
5
  newArr.push( hoge( !x ))
5
 end
5

代わりにmapやselect等の高階関数を使って次の様に書く(関数型スタイル)

5
 newArr = arr.map{ |x| hoge( x ) }
5

 

5

たぶん 3番 は万人に許容されると思うが、1,2番 はダメという人もいるだろう。

5

昔あるお客さんが書かれたサンプルコードで 1,2番 が使われているのを見てうちの社員がうげぇーとなっていたっけ。

5

Javaのような平均的なプログラミング言語に慣れた人には、ちょっと受けいれられないのだろう...

5

そうそう、JavaScript + Prototype.jsの組合せでも同じようなスタイルでプログラミング出来るよ。

5

 

5

...comment disabled...