Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.math.mathematica

Topic: Default value in pattern matching
Replies: 1   Last Post: Jan 28, 2014 6:05 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Yi Wang

Posts: 33
Registered: 3/30/12
Default value in pattern matching
Posted: Jan 18, 2014 5:04 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

Hello,

I was investigating the usage of the "a_." pattern. I understand that for some built-in functions with default value, we can do

In[] := a /. {a + b_. -> "matched"}

Out[] = "matched"

However, if I define a function myself with

In[] := Default[myPlus] = 0;
myPlus[0] := 0;
a /. {a + myPlus[b_.] -> "matched"}

Out[] = a

In other words, my default value is not used in the "b_." pattern. Is there a way to get a /. {a + myPlus[b_.] -> "matched"} match in the same way as a /. {a + b_. -> "matched"}?

Otherwise I have to write separately as

In[] := a /. {a -> "matched", a + myPlus[b_] -> "matched"}

This is a lot of additional work for complicated cases.




Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.