掲示板とかが無かったのでruby-listに :-)
http://www.duelists.org/~crouton/ruby/rdds/diary/?page=200007B#200007131
より引用 ここから
class Time
def beat
was_gmt = 'GMT' == zone
gmtime unless was_gmt
beat = ((((hour + 1) * 60 + min) * 60 + sec) * 1000) / 86400
localtime unless was_gmt
beat
end
alias :old_strftime :strftime
def strftime(format)
out = ''
format.scan(/%@|./o) do |c|
case c
when '%@'
out << beat.to_s
else
out << c
end
end
old_strftime(out)
end
end
if $0 == __FILE__
print(Time.now.strftime("%H:%M:%S @%@ %%@"), "\n")
end
とかやってみる。
$ ruby beat.rb
00:13:14 @675
%675
……あれれ? あー、最長一致しちゃうのか。むむむ。
http://www.duelists.org/~crouton/ruby/rdds/diary/?page=200007B#200007131
より引用 ここまで
scanのところを
format.scan(/%.|./o) do |c|
とすればいいのではないでしょうか?
---
ZnZ(ゼット エヌ ゼット)
西山和広(Kazuhiro Nishiyama)
mailto:zn / mbf.nifty.com