$ $ $ $ $ $ $ $.....
- To: MATHGROUP at yoda.physics.unc.edu
- Subject: $ $ $ $ $ $ $ $.....
- From: Ann M. Bell <ABELL at macc.wisc.edu>
- Date: Mon, 11 Apr 94 12:35 CDT
Hello,
I was wondering if someone could tell me a little about those
dollar signs that pop up everywhere in mathematica output (usually
when the program isn't working).
The immediate context I'm dealing with is auxiliary functions
defined within a module: instead of
The particular context I'm dealing with is auxiliary functions
defined inside a module. Instead of the evaluated function I get
something like prod2$35[{2,3}], or on other occasions a function
like f[{x_,y_}] := list[[x,y]] evaluated f[{2,3}] will return
list[[x,y]].
What does it mean when a global rule for a function (ie. what
you get when you query ?f) is littered with $'s?
The $'s seem to be (loosely) correlated with use of conditional
function definitions, but I can't seem to find any consistency in
the results. For example, a subroutine that worked fine yesterday
suddenly returns parts of the function definition liberally
interspersed with $'s and unevaluated variables......
Is the use of $'s in output and rule definitions discussed anywhere?
I have another small (but extremely annoying) difficulty with
my conditional functions definitions:
prod1[w_ /; Length[list1[[w]] ] >= 1] := Module[{sel1,s1},
sel1[{x_,y_}] := prodfunc[[x,y]];
s1 = Map[sel1, list1[[w]] ];
globalprod[[w]] = Flatten[Append[globalprod[[w]], s1 ]];
];
prod1[w_ /; Length[list1[[w]] ] < 1] := globalprod[[w]] =
Append[globalprod[[w]], 0];
returns the message
Part::pspec: Part specification w_ /; Length[list1[[w]]] < 1
is neither an integer nor a list of non-zero integers.
After I define prod1, I map it onto a list of integers, so w
is in fact a valid part specification.....
As a matter of fact, I seem to be having a lot of problems with
conditional function definitions in general, so if people have
any hints or references, I'd be grateful....
Thanks,
Ann Bell