Since everything is an expression in Mathematica, why must a string object be formed by "abc"
but not by a String[abc]
expression?
You can look at a string's head by:
Head["abc"]
String
But you can not produce the same string by String
String[abc]
which, from my point of view, seems inconsistent with the principle that Everything Is an Expression.
However, I noticed that the basic Symbol
object, on the other hand, can be formed by something like Symbol["a"]
.
The same question goes for four number objects (Integer
, Real
, Rational
, and Complex
). You can't say an integer 1 by something like Integer[1]
, can you?
Edit:Rational
and Complex
can be produced by their respective heads. So The question is valid only for String
and two number objects, i.e. Integer
and Real
.