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
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
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
On 10/24/07, Parv G. [email protected] 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).
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.
–
Rick DeNatale
My blog on Ruby
http://talklikeaduck.denhaven2.com/
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
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).
str = “abc”
str[/bc/] # “bc” which evaluates as true
str[/bd/] # nil which evaluates as false
Gary W.
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).
Look at the match method (or =~ )–since nil is false and anything else
is
true, I would think that you could use it.
Randy K.
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
Thanks,
ParvG
–Greg
On 10/24/07, Gregory S. [email protected] wrote:
=> true
/foo/ === ‘bar’
=> false
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 S. [email protected] wrote:
=> 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
–
Rick DeNatale
My blog on Ruby
http://talklikeaduck.denhaven2.com/
On 10/24/07, Rick DeNatale [email protected] wrote:
/foo/ === ‘foo’
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
Hmm I prefer the !! idiom
!! exp1 & exp2
this gives however warnings if exp1 is a String
Robert
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs