Re: Re: RandomReal gets stuck
- To: mathgroup at smc.vnet.net
- Subject: [mg100728] Re: [mg100687] Re: RandomReal gets stuck
- From: DrMajorBob <btreat1 at austin.rr.com>
- Date: Thu, 11 Jun 2009 21:44:45 -0400 (EDT)
- Organization: Deep Space Corps of Engineers
- References: <200906061025.GAA04602@smc.vnet.net> <h0fvjl$rb1$1@smc.vnet.net>
- Reply-to: drmajorbob at bigfoot.com
You're correct that Block and aa=ToString@a are unnecessary; it's a very
long time since I looked at the code.
But it works just fine, as it is or with those removed; I just neglected
to tell you how to use it.
For instance,
subFunction[
a_Symbol] := (MakeExpression[SubscriptBox[ToString@a, i_], f_] :=
MakeExpression[RowBox[{ToString@a, "[", i, "]"}]];
MakeBoxes[a[i_], f_] :=
SubscriptBox[MakeBoxes[a, f], MakeBoxes[i, f]])
Now enter
subFunction[a]
then
Array[a, 10]
Array[Subscript[a, #] &, 10]
and observe. Both outputs are the same.
Or enter
a[j]
whose output is
Subscript[a,j]
(But looking like a subscripted variable, of course.)
It only affects the symbol a, which you've set up using subFunction[a].
Bobby
On Thu, 11 Jun 2009 06:07:36 -0500, Alexey <lehin.p at gmail.com> wrote:
> On 7 =C9=C0=CE, 13:00, DrMajorBob <btre... at austin.rr.com> wrote:
>> If you want to use subscripted variables, it might help to use this
>> code:
>>
>> subFunction::usage = "subFunction[a] causes inputting a[i] or \
>> \!\(\*SubscriptBox[\"a\", \"i\"]\) to be synonymous, while always \
>> displaying the latter in outputs."
>>
>> "subFunction[a] causes inputting a[i] or \!\(\*SubscriptBox[\"a\", \
>> \"i\"]\) to be synonymous, while always displaying the latter in \
>> outputs."
>>
>> subFunction[a_Symbol]:=Block[{aa=ToString[a]},MakeExpression[Subscrip=
> tBox[ToString@a,i_],f_]:=MakeExpression[RowBox[{ToString@a,"[",i,"]"}]];MakeBoxes[a[i_],f_]:=SubscriptBox[MakeBoxes[a,f],MakeBoxes[i,f]]]
>>
>> The result is that you can refer to a[i] or Subscript[a,i]
>> interchangeably, but it always displays in the subscripted form. I find
>> it
>> much easier to use a[i] while typing formulas, so I'm getting the best
>> of
>> both worlds.
>>
>> Not sure if that addresses everything brought up on the thread, of
>> course.
>>
>> Bobby
>
>
> It is very interesting, thank you. But as I understand the definition
> aa=ToString[a]
> inside Block is not necessary. And Mathematica does not recognizes
> input Subscript[a,i] as equivalent to a[i]. There seems to be some
> errors in the code.
>
--
DrMajorBob at bigfoot.com
- References:
- Re: RandomReal gets stuck
- From: Bill Rowe <readnews@sbcglobal.net>
- Re: RandomReal gets stuck