number

16進数を10進数にする

p "ff".hex #=> 255 p sprintf("0x%04x", "a5".hex) # 16進数にする #=> "0x00a5" p [0,16,32,128,255].pack('c*').unpack('H*') #=> ["00102080ff"] p ["ff20"].pack('H*').unpack('C*') # 符号無し #=> [255, 32] p ["ff20"].pack('H*').unpack('c*') # 符…

三角関数

pi = Math.atan2(1, 1)*4; のようにクラスを指定して使うかinclude Math pi2 = atan2(1, 1)*4 のようにインクルードして使う(らしい)cos,sin,exp,log,atan2,sqrtがあればとりあえずは足りるか. p Math::PI # 円周率

連続する整数を操作する

3.times {|n| p n} p "-" (5..9).each {|n| p n} p "-" 7.step(10,2) {|n| p n} p "-" stepがあれば,uptoやdowntoは使わなくてもいいような気がするので,メモせず.

文字列が数値かどうか調べる

p "32" =~ /^[+-]?\d+$/ # 整数かどうか? p "0xff5A" =~ /^0x[0-9a-f]+$/i # 16進数かどうか? p "-256.03" =~ /^[+-]?\d+\.?\d*$/ # 小数.ただし .0とかを見逃す .0とか別にいいよね. チェックしたかったら,無理に奇妙な正規表現にするより,もう一つ正規…