[#50128] sprintf のフォーマット — dezawa <dezawa@...>

出沢です

20 messages 2015/05/03
[#50129] Re: sprintf のフォーマット — Yukihiro Matsumoto <matz@...> 2015/05/04

まつもと ゆきひろです

[#50130] Re: sprintf のフォーマット — Tanaka Akira <akr@...> 2015/05/04

2015年5月4日 12:03 Yukihiro Matsumoto <matz@ruby.or.jp>:

[#50131] Re: sprintf のフォーマット — Nobuyoshi Nakada <nobu@...> 2015/05/04

2015年5月4日月曜日、Tanaka Akira<akr@fsij.org>さんは書きました:

[ruby-list:50143] Re: sprintf のフォーマット

From: OHARA Shigeki <os@...>
Date: 2015-05-08 11:23:02 UTC
List: ruby-list #50143
大原といいます。

一連の話を見ていて、思いつきで、ちょっと違う話なのですが、
Time#% メソッドがあると便利かなと思いました。

% irb
irb(main):001:0> class Time
irb(main):002:1>   def %(fmt)
irb(main):003:2>     self.strftime(fmt)
irb(main):004:2>   end
irb(main):005:1> end
=> :%
irb(main):006:0> Time.now % "%Y-%m-%d %H:%M:%S"
=> "2015-05-08 20:06:06"
irb(main):007:0>

みたいな。
多少短く書ける程度かもしれませんが。


あと、元の話題の件に戻ると、例えば、

  "#{&:capitalize}" % word

とか、

  "#{|time|time.strftime('%F %T %z')}" % Time.now

のようにできると、
Time クラスに限らず汎用的にできていいのかなと思いました。

そもそも文法的に無理なのかもしれませんが。

----
OHARA Shigeki (大原 重樹) <os@iij.ad.jp>

In This Thread