Linked Questions

93
votes
2answers
7k views

What are the best practices / most common / idiomatic ways to report errors in Mathematica?

In particular, what are the best ways to report errors about incorrect arguments to a function? Checking for the correct arguments is relatively easy using patterns, but how to report an informative ...
24
votes
4answers
2k views

How to program a F::argx message?

How useful is it to program a user-built function in a package to produce a red warning message F::argx if you give the wrong number of arguments to that function? ...
24
votes
3answers
1k views

Quick way to use conditioned patterns when defining multi-argument function?

I have a simple function that is supposed to only accept numeric values (i.e. complex/real numbers and constant symbols e.g. Pi, E). $$f(a,b,c)=a+b+c$$ Edit: I should have chosen a less simple ...
8
votes
2answers
604 views

return {} when the function is given {}

I have a function taking an array as argument and giving an output. However, sometimes my argument is {} (the empty array), then how can I get an output {} when my argument is {}? Actually, I want the ...
6
votes
2answers
320 views

How can we create functions like Mathematica does?

Simple question. How can we construct functions like Mathematica does? For example, let's say that we want to create our own D function. The ...
9
votes
1answer
1k views

Checking the argument of user-defined function with side-effect method

Today, I answered a question of mine that asked two month ago. Please see here Now I would like to add the argument checking in this function. Then I used a method that Mr.Wizard answered ...
5
votes
1answer
513 views

How to check the option value?

Given that I have a function func as follow: To check the value of options, I using the step-by-step method If[] ...
2
votes
1answer
298 views

Why evaluation doesn't fail if arguments are invalid? [duplicate]

Sorry for a noob question, but this is something that I wonder about each time I work with Mathematica. Coming from standard programming languages (Python and Java), I expect my functions to fail ...
10
votes
1answer
273 views

How to deal with bad arguments when a function's UpValues is a pure-function?

In practice, I needs to define the UpValues of a user-defined function. For instance, the operation of function like differential formula , expansion and so on. ...
2
votes
2answers
240 views

How to produce an error message for function with a wrong parameter and default values for other parameter

Consider this function w[x_Integer: 2, y__List : {1, 2}, z_String: "X"] := {x y, z} w[4] {{4, 8}, "X"} Now I want to define an error message to be displayed ...
2
votes
1answer
107 views

Return the incomming expression on false

when I have an expression, that is unknown to mathematica, it is returned exactly the same, as it was called. For example SeeFlyingPigs[1,2] called on the line ...
0
votes
3answers
123 views

Creating an advance If statement nest with /; as conditions

Create a slightly more advanced version that does not use nested If statements, but instead uses the conditional /; to determine whether the function is evaluated at all. If the data are not ordered ...
2
votes
1answer
107 views

Generic templating system

I'm trying to implement a templating system in Mathematica, a bit like the List<List<T>> you would find in C#. Here's how it looks so far: ...
2
votes
1answer
88 views

how to manipulate pattern-matched lists for replacements

Consider the following simplified code snippet: line=Line[{#, 2 #} & /@ Range[10]] (* arbitrary line *) line /. {Line[x_List] -> Line[Most@x]} ...