Feature #10040
closed`%d` and `%t` shorthands for `Date.new(*args)` and `Time.new(*args)`
Description
I'm working on a Ruby application where we have to deal with a lot of dates and times, especially in our test suite. We currently have a couple thousand cases of Date.new(...)
, and I'm finding the syntax to be a little unwieldy.
What do you think about the following shorthand suggestions?
%d(2014, 7, 15) # Equivalent to: Date.new(2014, 7, 15)
%t(2014, 7, 15, 12, 58, 45) # Equivalent to: Time.new(2014, 7, 15, 12, 58, 45)
I added commas because I think the syntax should also support variables:
year = 2014
month = 7
%d(year, month, 15) # Equivalent to: Date.new(year, month, 15)
I understand that this will operate a bit differently to %w
and %i
, but I think that supporting variable evaluation would be a lot more useful.
An alternative proposal would be to add []
methods to Date
and Time
, so that we could call:
Date[2014, 7, 15]
Time[2014, 7, 15, 12, 58, 43]
This would be still be a little shorter and nicer to use. Please let me know if you would like me to open a feature ticket for Date.[]
and Time.[]
methods, instead.
Please let me know your thoughts. Would you find a shorter date/time syntax useful?