Re: Variable question
- To: mathgroup at smc.vnet.net
- Subject: [mg92508] Re: Variable question
- From: Bob F <deepyogurt at gmail.com>
- Date: Thu, 2 Oct 2008 04:35:12 -0400 (EDT)
- References: <gc0tkn$9ci$1@smc.vnet.net>
On Oct 1, 4:29 pm, Joh... at giganews.com wrote: > I have the following test code > > c = 3 > var = "c" > v = StringTake[var, {1}] > v > > v is showing up as c but I want it to show up as 3. Is there a way to = do this? > > Thanks Well, you could just assign "3" to the variable c, like c = "3" var = c (* this is really redundant, just use the c variable in the StringTake[ c, {1}] function *) v = StringTake[var, {1}] Also, note that the second argument on StringTake is either which character in the string to extract if you use the list syntax, {1} , or if you want the first "n" characters use the interger "n" (without the quotes of course) - in this case you told it to take the first character, but if c were longer and you wanted the second character or the first two characters you could c = "54321" v = StringTake[ c, {2}] (*would give "4" which is the second character*) v = StringTake[ c, 2] (*would give "54" which is the first two characters*) Also note that in your original example the last line prints the value of v a second time since you did not use a ; at the end of the third line, and without it the value of v is printed once as a result of the third line and again in the fourth line. So with version 6, the behaviour of the ; to suppress output is more consistent than version 5 was. If, what you are trying to do is convert an integer or any expression to a string you can use the function ToString[expression], e.g. c = 54321 d = ToString[54321] v = StringTake[ c, 2] (* but c is not a string but an integer so this will give an error *) w = StringTake[ d, 2] (* would give "54" which is the first two characters of d *) See the documentation on ToString[], String Manipulations, String Operations, etc to get more info... -Bob