Is it possible to assign custom attributes to symbols and check them later?
SetAttributes[a, b]
says
Attributes::attnf: b is not a known attribute.
Mathematica Stack Exchange is a question and answer site for users of Wolfram Mathematica. It only takes a minute to sign up.
Sign up to join this communityNo, I do not believe it is. As the documentation for your error message says:
The attributes available in each version of Mathematica are fixed and cannot be changed.
The system attributes are low level properties that fundamentally change the evaluation of symbols. I think it makes sense that these are not mixed with high-level user constructs, even though at times that would be quite convenient.
For an alternative remember that you can attach Options
to a symbol, e.g.:
Options[a] = {"Attributes" -> {"b"}};
OptionValue[a, "Attributes"]
{"b"}
You could also use a single DownValues
rule such as:
a["Attributes"] = {"b"};
a["Attributes"]
{"b"}
SetOptions[a, "Attributes" -> {"c", "d"}];
or a["Attributes"] = {"c", "d"};
Are you asking for a way to individually append or remove these values as SetAttributes
and ClearAttributes
do? I could add that to my answer if you have trouble crafting it yourself.
$\endgroup$
Jan 19, 2013 at 10:17