+ 日本語コーディングしようぜ
http://www.flat7th.org/~keizo/wiki/code2/KyDml6XmnKzoqp7jgrPjg7zjg4fjgqPjg7PjgrDjgZfjgojjgYbjgZw

日本語コーディング、そういうのもあるのかですの。

大会かなにかで賞金が成績によって決まるものがあったとして、
参加者が10人未満なら成績の合計、10人以上なら成績の平均の10倍が賞金になるとき、それを求めるクラスメソッド、

public int getBonus(IEnumerable scores)
{
 if (scores.Count() < 10)
 {
  return scores.Sum();
 }
 else
 {
  return (int)scores.Average() * 10;
 }
}

これを、ラムダ式と日本語コーディングにおまけで三項演算を加えて書くと以下ですの。

(一行版)
public int get賞金(IEnumerable 成績s) => 成績s.Count() < 10 ? 成績s.Sum() : (int)成績s.Average() * 10;

(改行を入れた版)
public int get賞金(IEnumerable 成績s) => 
成績s.Count() < 10
? 成績s.Sum()
: (int)成績s.Average() * 10;

量的に少ないせいか、思ったより迫力がないですの。むしろ最初のコードより短くて見やすい気もしますの。
ただ、わらわがC#の標準の中括弧の付け方(BSD/オールマン・スタイル)が嫌いなこともあって、そもそも中括弧を使わないで済むというのはとても爽快ですの。

0 コメント: