背景
SQLで、有効数字n桁にまとめたいことがある。printfに相当する関数があればよいが、それがないとき。
数行数字n桁にする計算式
xが丸めたい数値、nが丸めたい桁数の時に、BigQueryでは、
round(x,integer(-log10(x)-1+n))
単にlog10で桁数を求めただけ。微妙に100とか1000のように丁度になったときはintegerによる切り捨 . . . 本文を読む
背景
rubyで重み付きルーレット選択をする時のワンライナー。
rubyでルーレット
rubyにprefix sumまたはscan(mapとreduceが合わさったような関数)が用意されていればいいが、ないので、sumの部分は外出しで、次のように書いた。
ruby -e 'r=rand;s=0;p [0.1,0.3,0.6].map.with_index{|a,i|[s+=a,i]}. . . . 本文を読む