合計を計算するときとか

sum = 0
(1..10).each {|n| sum += n}
puts sum  # => 55

よくこんな感じのコードを書いてます。

inject()を用いてこのようにかけるみたいです。

puts (1..10).inject(0) {|sum, n| sum + n}   # => 55

ループでの計算結果を入れる変数が、ブロックの中で済んでいるのでスッキリですね。

これからinjectたくさん使っていこうと思います。

追記

# 以下同じ
p (1..10).inject(0) {|count, n| count + n}
p (0..10).inject {|count, n| count + n}
p (1..10).inject(:+)

3つ目すげぇ短い!!

引用

http://d.hatena.ne.jp/kenkitii/20090114/ruby_inject
http://naoty.hatenablog.com/entry/20110726/1311691890

ショッカー届いた。

ショッカーが語るリーダーシップと組織論 - ╹◡╹◡╹◡╹

ショッカーに感銘を受けて買ったものが今日届いた。
この前買ったエガちゃんとコラボ。

f:id:whitech0c0late:20130719001818j:plain
f:id:whitech0c0late:20130719002224j:plain

これでオレはブレないはずだ。
きっと。

S.H.フィギュアーツ ショッカー戦闘員

S.H.フィギュアーツ ショッカー戦闘員


figma 江頭2:50 (ノンスケール ABS&PVC製塗装済み可動フィギュア)

figma 江頭2:50 (ノンスケール ABS&PVC製塗装済み可動フィギュア)

githubでPull Request送られてきたら。

1コ前のエントリ。
ソーシャルコーディング

これを読んでくれた方がいて、さっそくPull Request を送ってくれました。
ありがとうございますm(__)m
github の Pull Request に初挑戦。

とういことで、今回は
@yuji_shimoda さんからもらったPull Requestの変更を検証して安全にマージするということをやりました。

※いつもは同じ研究室の人と近くで話ながらpullとかpushをやっているので、今回のようなケースはちょっと緊張...
githubページには親切にこのような案内がでていたので、この手順に沿って作業開始。
f:id:whitech0c0late:20130525164154p:plain

Step1 まずはマージ用のブランチを作成して、そのブランチに切り替えます。

$ git checkout -b ブランチ名 親

Step2 このブランチでpullして実際に動かしてみる
ここでちょっと自分の仕様にするためちょこっと書き換えました。
そして、コミット。

Step3
自身のmasterブランチへ切り替えて、さきほどのブランチをマージして
githubへpush

ここでmasterブランチへマージせずに、作成したブランチでgithub側へpushした方が良いのかな?
トピックブランチ的に。

でもまぁ今回はgithubの案内に沿ってやってみました。
無事にgithubにpush完了。

f:id:whitech0c0late:20130525170213p:plain

本来ならば、masterの他にdevlopのブランチを作成してそれ以下ですべてやるのがいいのかもしれません。。たぶん。

さいごに

$ git branch -D ブランチ名

これでマージ用のブランチを削除しておわり。

続きを読む

ソーシャルコーディング

研究室のゼミで司会者を決めるときに時間がかかるので、ルーレットを作りました。

名前の入った配列を与えると、点数付きのハッシュにして返して1番ポイントの低い人が表示されるというものです。

Rubyでササッとつくったので、いろいろ問題があります。
(同じ点数の人の時とか)

そこでソーシャルコーディングの力を借りてどんどんより良いものにしていきたいです。

https://github.com/whitech0c0/LabRoulette

ここに公開しています。
どんどん Pull Request 送ってください。
お願いします。

というかgithubの複数人での開発フローをもっと体験してみたいです。

※Mac以外の環境の方はafplay, sayコマンドのところはコメントアウトお願いします。