2007-05-18から1日間の記事一覧

1日後や1ヶ月前の日付を得る

require 'date' def time_to_date( t) DateTime.new( t.year, t.mon, t.day, t.hour, t.min, t.sec) end def date_to_time( d) Time.mktime( d.year, d.mon, d.day, d.hour, d.min, d.sec) end t1 = Time.now # 基準日 d1 = time_to_date( t1) p (d1 + 1).st…

今日の日付を得る

p Time.now p (Time.now+1*60*60*24) # 1日後 p Time.now.strftime("%Y/%m/%d %H:%M:%S") strftimeの書式はstrftime(3)を参照する.直接,数値を取得するには: p Time.now.day p Time.now.min

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とか別にいいよね. チェックしたかったら,無理に奇妙な正規表現にするより,もう一つ正規…

備忘録目次 - ロバの耳