String method that takes in a regex

Hi,
Is there a string method that takes in a regular expression AND returns
a boolean value?

Looking at the documentation i can't find a method that meets my
requirements (very surprising).

Thanks,
ParvG

···

--
Posted via http://www.ruby-forum.com/.

Hi --

···

On Thu, 25 Oct 2007, Parv G. wrote:

Hi,
Is there a string method that takes in a regular expression AND returns
a boolean value?

Looking at the documentation i can't find a method that meets my
requirements (very surprising).

I think the idea is that as long as matching methods return either
something or nil, you can always use them in conditionals, so they
might as well return something that might have some other use.

David

--
Upcoming training by David A. Black/Ruby Power and Light, LLC:
   * Advancing With Rails, Edison, NJ, November 6-9
   * Advancing With Rails, Berlin, Germany, November 19-22
   * Intro to Rails, London, UK, December 3-6 (by Skills Matter)
See http://www.rubypal.com for details!

String#match takes a regexp and returns either nil or a MatchData.

In Ruby nil is a boolean false, and anything other than nil or false
is a boolean true, so this effectively does return a boolean value.

···

On 10/24/07, Parv G. <ghotrapa@yahoo.com> wrote:

Hi,
Is there a string method that takes in a regular expression AND returns
a boolean value?

Looking at the documentation i can't find a method that meets my
requirements (very surprising).

--
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/

Look at the match method (or =~ )--since nil is false and anything else is
true, I would think that you could use it.

Randy Kramer

···

On Wednesday 24 October 2007 02:06 pm, Parv G. wrote:

Is there a string method that takes in a regular expression AND returns
a boolean value?

Looking at the documentation i can't find a method that meets my
requirements (very surprising).

str = "abc"
str[/bc/] # "bc" which evaluates as true
str[/bd/] # nil which evaluates as false

Gary Wright

···

On Oct 24, 2007, at 2:06 PM, Parv G. wrote:

Hi,
Is there a string method that takes in a regular expression AND returns
a boolean value?

Looking at the documentation i can't find a method that meets my
requirements (very surprising).

Hi,
Is there a string method that takes in a regular expression AND returns
a boolean value?

Looking at the documentation i can't find a method that meets my
requirements (very surprising).

% irb

/foo/ === 'foo'

=> true

/foo/ === 'bar'

=> false

Thanks,
ParvG

--Greg

···

On Thu, Oct 25, 2007 at 03:06:36AM +0900, Parv G. wrote:

In Ruby nil is a boolean false, and anything other than nil or false
is a boolean true, so this effectively does return a boolean value.

I did not know this; this is very helpful.

Thanks David and Rick.

Parv

···

--
Posted via http://www.ruby-forum.com/\.

This is indeed a very useful idiom.
Just for the records you are talking about Regexp#=== here, not a String method.

R.

···

On 10/24/07, Gregory Seidman <gsslist+ruby@anthropohedron.net> wrote:

On Thu, Oct 25, 2007 at 03:06:36AM +0900, Parv G. wrote:
> Hi,
> Is there a string method that takes in a regular expression AND returns
> a boolean value?
>
> Looking at the documentation i can't find a method that meets my
> requirements (very surprising).

% irb
>> /foo/ === 'foo'
=> true
>> /foo/ === 'bar'
=> false
>>

--
what do I think about Ruby?
http://ruby-smalltalk.blogspot.com/

> Hi,
> Is there a string method that takes in a regular expression AND returns
> a boolean value?
>
> Looking at the documentation i can't find a method that meets my
> requirements (very surprising).

% irb
>> /foo/ === 'foo'
=> true

although

      'foo' === /foo/
     => false

=== is non-symmetric.

That said, I think that there are very few cases in Ruby where you
actually need an instance of either TrueClass or FalseClass, those
being when you want to use the non-shortcut methods

    > instead of ||
and
   & instead of &&

or the exclusive or operator ^

In these few cases you might have to do (expr == true) & expr2
instead of just expr & expr2

There's also !!expr but be careful with that
http://www.therailsway.com/2007/8/1/dangers-of-cargo-culting

···

On 10/24/07, Gregory Seidman <gsslist+ruby@anthropohedron.net> wrote:

On Thu, Oct 25, 2007 at 03:06:36AM +0900, Parv G. wrote:

--
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/

Hmm I prefer the !! idiom

!! exp1 & exp2

this gives however warnings if exp1 is a String :frowning:
Robert

···

On 10/24/07, Rick DeNatale <rick.denatale@gmail.com> wrote:

On 10/24/07, Gregory Seidman <gsslist+ruby@anthropohedron.net> wrote:
> On Thu, Oct 25, 2007 at 03:06:36AM +0900, Parv G. wrote:
> > Hi,
> > Is there a string method that takes in a regular expression AND returns
> > a boolean value?
> >
> > Looking at the documentation i can't find a method that meets my
> > requirements (very surprising).
>
> % irb
> >> /foo/ === 'foo'
> => true

although

      'foo' === /foo/
     => false

=== is non-symmetric.

That said, I think that there are very few cases in Ruby where you
actually need an instance of either TrueClass or FalseClass, those
being when you want to use the non-shortcut methods

    > instead of ||
and
   & instead of &&

or the exclusive or operator ^

In these few cases you might have to do (expr == true) & expr2
instead of just expr & expr2

--
what do I think about Ruby?
http://ruby-smalltalk.blogspot.com/