読者です 読者をやめる 読者になる 読者になる

メモメモ

Ruby

Timeクラスのインスタンスの差分の和を計算させる。Rのdiffに当たるものがあればsum(diff(x))で一発なのに。。。

time = [Time.mktime(2007, 6, 2, 16, 30, 50),Time.mktime(2006, 6, 2, 16, 30, 50),Time.mktime(2005, 6, 2, 16, 30, 50),Time.mktime(2007, 6, 2, 16, 30, 50),Time.mktime(2006, 6, 2, 16, 30, 50),Time.mktime(2005, 6, 2, 16, 30, 50)]

#aaaは2重の配列
aaa[0] = time[0..4]
aaa[1] = time[1..5]

#差分の計算
bbb = aaa.map {|x| [x[0]-x[1]]}
#flattenにして1重の配列にて、和を計算させる
bbb.flatten.inject(0){|result, item| result + item }