I think Ruby is a much better language than Perl, but it’s definitely true that the libraries aren’t as mature. Here’s a problem that has just annoyed me for the second time.
All of the creation methods for the
Time class take similar arguments, exemplified here by the
Time.local(year [, month, day, hour, min, sec, usec])
But the ParseDate::parsedate method that does a good job of parsing date information out of human-readable strings returns this array:
[year, mon, mday, hour, min, sec, zone, wday]
You really should be able to type
Time.local(*ParseDate::parsedate(timeString)) but you can’t. You’ve got to chop the last two elements off the array first. That’s not hard in Ruby, but still …
So far as I know, there may already be a remedy for this in CVS. But there really ought to be a
Time.parsedate(aString) method that does the right thing.