トップ «前の日記(2005年05月21日) 最新 次の日記(2005年05月26日)» 編集

ohai日誌

2003|12|
2004|01|02|03|04|05|06|07|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|06|08|10|11|
2008|01|02|03|04|05|07|09|
2009|01|02|
2013|06|12|
2014|01|02|03|04|06|09|10|12|
2015|04|
2016|09|
2018|02|

2005年05月23日

_ Rubyでブロックを使う

Lispや関数型言語では基本的な手法ですが、以下のようなRubyプログラムを、

def f(n)
  (1..n).map{|x| x**3}.inject{|y,z| y+z}
end

次のように書くのもありだな、と思いました。

def f(n)
  cube = proc{|x| x**3}
  plus = proc{|x,y| x+y}
  (1..n).map(&cube).inject(&plus)
end

ブロックの中身がごちゃごちゃしてい場合や、メソッドチェインが長い場合に 有効かもしれません。私はmap、find_all、injectといったメソッドを 良く使うので一度試してみようかと思います。

_ よた話

検索エンジンで適当にしらべた所、一戸建ての家を2000万円くらいで 建てる場合、設計にかかるコストはそのうち10%〜15%くらいらしいです。


トップ «前の日記(2005年05月21日) 最新 次の日記(2005年05月26日)» 編集