Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Ruby (http://www.velocityreviews.com/forums/f66-ruby.html)
-   -   is there a way to AutoParse a string to another type - e.g. if aDate format then date, else if integer than Integer etc ????? (http://www.velocityreviews.com/forums/t852038-is-there-a-way-to-autoparse-a-string-to-another-type-e-g-if-adate-format-then-date-else-if-integer-than-integer-etc.html)

Greg Hauptmann 08-06-2008 04:53 AM

is there a way to AutoParse a string to another type - e.g. if aDate format then date, else if integer than Integer etc ?????
 
[Note: parts of this message were removed to make it a legal post.]

Hi,

Is there a way to AutoParse a string to another type - e.g. if a Date format
then date, else if integer than Integer etc

I'm wanting to pass search parameters via a URL, however since everything in
the URL will be a string it would be good to automatically convert a string
to the most likely variable type. In particular differentiating between an
Integer and a Date.

Does this exist somewhere in Ruby already? Or do I have to write myself?

Thanks in advance


ara.t.howard 08-06-2008 05:16 AM

Re: is there a way to AutoParse a string to another type - e.g. if aDate format then date, else if integer than Integer etc ?????
 

On Aug 5, 2008, at 10:53 PM, Greg Hauptmann wrote:

> Does this exist somewhere in Ruby already? Or do I have to write
> myself?



require 'date'

value = Date.parse(string) rescue Integer(string)




a @ http://codeforpeople.com/
--
we can deny everything, except that we have the possibility of being
better. simply reflect on that.
h.h. the 14th dalai lama





Greg Hauptmann 08-06-2008 05:25 AM

Re: is there a way to AutoParse a string to another type - e.g. if aDate format then date, else if integer than Integer etc ?????
 
[Note: parts of this message were removed to make it a legal post.]

thanks - in one line too....so I could do in fact then I guess:

value = Date.parse(string) rescue Integer(string) rescue Float(string)
rescue string




On 8/6/08, ara.t.howard <ara.t.howard@gmail.com> wrote:
>
>
> On Aug 5, 2008, at 10:53 PM, Greg Hauptmann wrote:
>
> Does this exist somewhere in Ruby already? Or do I have to write myself?
>>

>
>
> require 'date'
>
> value = Date.parse(string) rescue Integer(string)
>
>
>
>
> a @ http://codeforpeople.com/
> --
> we can deny everything, except that we have the possibility of being
> better. simply reflect on that.
> h.h. the 14th dalai lama
>
>
>
>
>



Greg Hauptmann 08-06-2008 05:50 AM

Re: is there a way to AutoParse a string to another type - e.g. if aDate format then date, else if integer than Integer etc ?????
 
[Note: parts of this message were removed to make it a legal post.]

umm...Date parse doesn't seem to be that good, for example see below

>> Loading development environment (Rails 2.1.0)
>>

?> Date.parse("123", "%d/%m/%Y")
=> Fri, 02 May 2008
>> Date.parse("123", "%d/%m/%Y").class

=> Date
>>



On 8/6/08, Greg Hauptmann <greg.hauptmann.ruby@gmail.com> wrote:
>
> thanks - in one line too....so I could do in fact then I guess:
>
> value = Date.parse(string) rescue Integer(string) rescue Float(string)
> rescue string
>
>
>
>
> On 8/6/08, ara.t.howard <ara.t.howard@gmail.com> wrote:
> >
> >
> > On Aug 5, 2008, at 10:53 PM, Greg Hauptmann wrote:
> >
> > Does this exist somewhere in Ruby already? Or do I have to write myself?
> >>

> >
> >
> > require 'date'
> >
> > value = Date.parse(string) rescue Integer(string)
> >
> >
> >
> >
> > a @ http://codeforpeople.com/
> > --
> > we can deny everything, except that we have the possibility of being
> > better. simply reflect on that.
> > h.h. the 14th dalai lama
> >
> >
> >
> >
> >

>



Michael Guterl 08-06-2008 01:50 PM

Re: is there a way to AutoParse a string to another type - e.g. if aDate format then date, else if integer than Integer etc ?????
 
On Wed, Aug 6, 2008 at 1:50 AM, Greg Hauptmann
<greg.hauptmann.ruby@gmail.com> wrote:
> umm...Date parse doesn't seem to be that good, for example see below
>
>>> Loading development environment (Rails 2.1.0)
>>>

> ?> Date.parse("123", "%d/%m/%Y")
> => Fri, 02 May 2008
>>> Date.parse("123", "%d/%m/%Y").class

> => Date
>>>

>


FWIW, it is assuming you want the 123rd day of the year.

Michael Guterl


Michael Libby 08-06-2008 01:53 PM

Re: is there a way to AutoParse a string to another type - e.g. if aDate format then date, else if integer than Integer etc ?????
 
On Wed, Aug 6, 2008 at 12:50 AM, Greg Hauptmann
<greg.hauptmann.ruby@gmail.com> wrote:
> umm...Date parse doesn't seem to be that good, for example see below
>
>>> Loading development environment (Rails 2.1.0)
>>>

> ?> Date.parse("123", "%d/%m/%Y")
> => Fri, 02 May 2008
>>> Date.parse("123", "%d/%m/%Y").class

> => Date


As far as I can tell, Date.parse doesn't really want a format string
as the second argument. And Date.parse is working great in your
example, it gave you a date corresponding to the 123rd day of this
year. :)

If you're not sure whether your input string is actually a date, you
might be more interested in Date.strptime:

irb(main):012:0> value = Date.strptime("123", "%d/%m/%y") rescue Integer("123")
=> 123
irb(main):013:0> value.class
=> Fixnum

-Michael


ara.t.howard 08-06-2008 04:52 PM

Re: is there a way to AutoParse a string to another type - e.g. if aDate format then date, else if integer than Integer etc ?????
 

On Aug 5, 2008, at 11:50 PM, Greg Hauptmann wrote:

> umm...Date parse doesn't seem to be that good, for example see below


yup - you may have to constrain what you parse with a pattern. you
might also try Time.parse as it's a little more strict.

a @ http://codeforpeople.com/
--
we can deny everything, except that we have the possibility of being
better. simply reflect on that.
h.h. the 14th dalai lama






All times are GMT. The time now is 04:52 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.