Forum: Ruby on Rails Using Match with Regexp-Do not quite understand the formula

791960957971b8f33f24e7ba5a0ea262?d=identicon&s=25 Alex Froelich (froeal01)
on 2013-08-29 16:42
Hi Ruby on Rails community!

I am trying to write a program that uses the .match command to find out
if a string contains a certain word-then using that information write a
conditional statement. The issue I am running into is that I am self
teaching myself and do not really know how to properly use this new
found str. method. Right now this is what my code looks like

def your_plans(activity) #want to use a method for this one
if /activity/.match("movie")
#this is where I get it wrong, I am not sure if this is the proper way
to present the match, and if i am #putting the argument in the correct
position.
puts "I love movies too!"
else
puts "why didn't you see a movie?"
end
end

puts your_plans("Yesterday, I went to go see a movie")


it is super basic, as I am just a starter. I think the rest of my code
is correct, i just cant figure out the match method. If anyone has some
pointers on why certain pieces go where that would be really helpful. I
have been using this site to look up and learn methods.
http://www.ruby-doc.org/core-1.9.3/String.html

thanks!
A47e0a6beeb9d048ff054fc1c3a97418?d=identicon&s=25 Walter Davis (walterdavis)
on 2013-08-29 16:48
(Received via mailing list)
On Aug 29, 2013, at 10:42 AM, Alex Froelich wrote:

> Hi Ruby on Rails community!
>
> I am trying to write a program that uses the .match command to find out
> if a string contains a certain word-then using that information write a
> conditional statement. The issue I am running into is that I am self
> teaching myself and do not really know how to properly use this new
> found str. method. Right now this is what my code looks like
>
> def your_plans(activity) #want to use a method for this one
> if /activity/.match("movie")

Take the slashes off of activity, and this should just work.

irb
1.9.3p429 :001 > "i love movies".match("movie")
 => #<MatchData "movie">
1.9.3p429 :002 > "i love movies".match("walrus")
 => nil
1.9.3p429 :003 >

>
>
> it is super basic, as I am just a starter. I think the rest of my code
> is correct, i just cant figure out the match method. If anyone has some
> pointers on why certain pieces go where that would be really helpful. I
> have been using this site to look up and learn methods.
> http://www.ruby-doc.org/core-1.9.3/String.html

Hope this helps,

Walter
791960957971b8f33f24e7ba5a0ea262?d=identicon&s=25 Alex Froelich (froeal01)
on 2013-08-29 19:03
Walter Davis wrote in post #1119949:
> On Aug 29, 2013, at 10:42 AM, Alex Froelich wrote:
>
>> Hi Ruby on Rails community!
>>
>> I am trying to write a program that uses the .match command to find out
>> if a string contains a certain word-then using that information write a
>> conditional statement. The issue I am running into is that I am self
>> teaching myself and do not really know how to properly use this new
>> found str. method. Right now this is what my code looks like
>>
>> def your_plans(activity) #want to use a method for this one
>> if /activity/.match("movie")
>
> Take the slashes off of activity, and this should just work.
>
> irb
> 1.9.3p429 :001 > "i love movies".match("movie")
>  => #<MatchData "movie">
> 1.9.3p429 :002 > "i love movies".match("walrus")
>  => nil
> 1.9.3p429 :003 >
>
>>
>>
>> it is super basic, as I am just a starter. I think the rest of my code
>> is correct, i just cant figure out the match method. If anyone has some
>> pointers on why certain pieces go where that would be really helpful. I
>> have been using this site to look up and learn methods.
>> http://www.ruby-doc.org/core-1.9.3/String.html
>
> Hope this helps,
>
> Walter


Hi Walter,

Thanks for your quick reply. I removed the "/" around activity, but when
i put everything in my code. I am receiving a syntex error.

def welcome(activity)
if activity.match("movies")
puts "Yes, Movies are awesome!"
else
puts "why don't you like movies?"
end
end
puts activity("I like going to movies")

What i am looking to get in the output is either a "Yes, Movies are
awesome" if .match finds "movies", or "why don't you like movies?" if
.match is unable to find movies in the statement. I am thinking it still
has to do with me not setting up the argument and .match correctly.

thanks,
Alex
A47e0a6beeb9d048ff054fc1c3a97418?d=identicon&s=25 Walter Davis (walterdavis)
on 2013-08-29 19:08
(Received via mailing list)
On Aug 29, 2013, at 1:03 PM, Alex Froelich wrote:

>>>
>> 1.9.3p429 :003 >
>>
> puts "Yes, Movies are awesome!"
>
> thanks,
> Alex

Your method is called welcome(), but you are calling activity(). Make
the last line read as this:

puts welcome("I like going to movies")

and you will see the output you desire.

Walter
791960957971b8f33f24e7ba5a0ea262?d=identicon&s=25 Alex Froelich (froeal01)
on 2013-08-29 19:48
Walter Davis wrote in post #1119974:
> On Aug 29, 2013, at 1:03 PM, Alex Froelich wrote:
>
>>>>
>>> 1.9.3p429 :003 >
>>>
>> puts "Yes, Movies are awesome!"
>>
>> thanks,
>> Alex
>
> Your method is called welcome(), but you are calling activity(). Make
> the last line read as this:
>
> puts welcome("I like going to movies")
>
> and you will see the output you desire.
>
> Walter


Do'h!! Thanks for catching that for me :) Everything is working out
really nicely now. Thanks for taking the time to help me out, Walter.

best,
Alex
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.