jformat

Kernel#formatぽいものを java.lang.String.formatで実装。
たまに便利。

def jformat(fmt, *args)
  java.lang.String.format(fmt, args.to_java(:object))
end
% jirb -r java
irb(main):001:0> def jformat(fmt, *args)
irb(main):002:1>   java.lang.String.format(fmt, args.to_java(:object))
irb(main):003:1> end
=> nil
irb(main):004:0> jformat("%n")
=> "\n"
irb(main):005:0> jformat("%d", 1000)
=> "1000"
irb(main):005:0> jformat("%,d", 1000)
=> "1,000"
irb(main):006:0> jformat("%,d", 99**10)
=> "90,438,207,500,880,449,001"
irb(main):007:0> jformat("%,+d", 99**10)
=> "+90,438,207,500,880,449,001"
irb(main):008:0> jformat("%1$tF %1$tT", Time.now)
=> "2007-12-30 15:56:29"
irb(main):009:0> jformat("%1$tF %<tT", Time.now)
=> "2007-12-30 15:56:48"
irb(main):010:0> jformat("%B", true)
=> "TRUE"
irb(main):011:0> jformat("%b", true)
=> "true"
irb(main):012:0> jformat("%f", 10.125)
=> "10.125000"
irb(main):013:0> jformat("%g", 10.125)
=> "10.1250"
irb(main):014:0> jformat("%a", 10.125)
=> "0x1.44p3"