Re: writing greek characters to files
- To: mathgroup at smc.vnet.net
- Subject: [mg46847] Re: writing greek characters to files
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Thu, 11 Mar 2004 03:50:38 -0500 (EST)
- Organization: Universitaet Leipzig
- References: <c2mp71$o1g$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
- Sender: owner-wri-mathgroup at wolfram.com
Hi, sorry, but with a bit cleaner definition like SetAttributes[{DefinitionString}, {HoldAll}] DefinitionString[expr_] := ToString[Unevaluated[expr]] <> " = " <> ToString[expr, InputForm] <> ";\n" and b=6; stream = OpenWrite["tmp.txt"]; WriteString[stream, DefinitionString[b]]; Close[stream]; I can't reproduce your problem. And Put[Definition[b], "tmp.m"] may do almost the same. Regards Jens Scott Morrison wrote: > > I'm writing a package in which I need to save the results of various > long calculations. > > I wrote two simple functions; > > ToStringHeld[expr_]:=StringTake[ToString[Hold[expr],InputForm],{6,-2}] > > SetAttributes[{DefinitionString},{HoldAll}] > > DefinitionString[expr_]:=ToStringHeld[expr] <> " = " <> > ToString[expr,InputForm] <> ";\n" > > Now, for example, with > > b=6; > > DefinitionString[b] produces the string "b = 6;\n". Great. I then > write it to a file with, for example > > stream=OpenWrite["tmp"]; > WriteString[stream, DefinitionString[b]]; > Close["tmp"]; > > I run into problems if in the example above I replace b everywhere > with beta (entered as <esc>b<esc> in the front-end). In this case the > file "tmp" contains an unprintable character (pair of characters, in > fact), whereas I'd like it to contain \[Beta] = 6;. > > If I use instead DefinitionString[\[Beta]]>>"tmp", it correctly prints > the string, but with quotation marks, making it useless for input... > > Any suggestions? > > Thanks, Scott Morrison