benchmark.rb*1を読んだ
読もうと思った理由
以下のことが知りたいと思った。
- (あとで書く)
読み終わって気づいたこと(あとで整理する)
procオブジェクトなら配列に格納できる
a<<proc{...}
from: Benchmark.item
operator(演算子)を引数にとって、評価する関数の書き方
def op_sum(op,a) case op when "+" : x=0 when "-" : x=a.shift when "*" : x=1 when "/" : x=a.shift else puts "ゴメン、まだ無理"; return end a.inject(x) {|result,e| result.send(op,e)} end def plus_sum(a) op_sum(:+,a) end #今まで、1つずつinjectで定義していたww #plus_sum((1..10).to_a) #=>55
from:「TMS.+(-,*,/)」,「TMS.memberwise」
必要な要素を含んだ配列を得る方法、
def to_a [@label,@utime,@stime,@cutime,@cstime,@real] end #a=[];a<<@laberu;a<<@utime...ってしてた。
from: TMS.to_a
nonzero?
riで調べると便利な使い方が書いてある。
直接呼ばれたときだけ、実行する部分の記述の仕方。
if__FILE__==$0 #ここに実行したい処理を記述 end
- __FILE__=現在のファイルの名前
- $0 =呼び出したファイルの名前