Project

General

Profile

Feature #10040

Updated by nobu (Nobuyoshi Nakada) about 6 years ago

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? 

 ```ruby 
 

     %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: 

 ```ruby 
 

     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: 

 ```ruby 
 

     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?

Back