[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Slashes in YAML

Lee Smith

6/1/2008 12:47:00 PM

Hello all...

I wish to store several LaTex constants in YAML file and process them in
ruby. LaTex uses single slashes ('\') as a markup specifier. If I
specify a yaml string containing a single slash (e.g., "^{\circ}" which
is the LaTex markup for 'degrees Celsius') ruby will helpfully escape
the slash for me yielding "^{\\circ}"

I've tried all sorts of quoting and other tricks to tell ruby to "leave
my string alone" but it insists on escaping my slash!

Thanks!
--
Posted via http://www.ruby-....

2 Answers

Robert Klemme

6/1/2008 12:57:00 PM

0

On 01.06.2008 14:47, Lee Smith wrote:
> I wish to store several LaTex constants in YAML file and process them in
> ruby. LaTex uses single slashes ('\') as a markup specifier. If I
> specify a yaml string containing a single slash (e.g., "^{\circ}" which
> is the LaTex markup for 'degrees Celsius') ruby will helpfully escape
> the slash for me yielding "^{\\circ}"
>
> I've tried all sorts of quoting and other tricks to tell ruby to "leave
> my string alone" but it insists on escaping my slash!

I'm not sure what you're after. Do you want to use YAML strings
directly for LaTex? Or did you trap into the usual inspect issue:

irb(main):002:0> puts "a\\b"
a\b
=> nil
irb(main):003:0> puts "a\\b".inspect
"a\\b"
=> nil

Cheers

robert

Lee Smith

6/1/2008 1:14:00 PM

0

Robert Klemme wrote:
> On 01.06.2008 14:47, Lee Smith wrote:
>> I wish to store several LaTex constants in YAML file and process them in
>> ruby. LaTex uses single slashes ('\') as a markup specifier. If I
>> specify a yaml string containing a single slash (e.g., "^{\circ}" which
>> is the LaTex markup for 'degrees Celsius') ruby will helpfully escape
>> the slash for me yielding "^{\\circ}"
>>
>> I've tried all sorts of quoting and other tricks to tell ruby to "leave
>> my string alone" but it insists on escaping my slash!
>
> I'm not sure what you're after. Do you want to use YAML strings
> directly for LaTex? Or did you trap into the usual inspect issue:
>
> irb(main):002:0> puts "a\\b"
> a\b
> => nil
> irb(main):003:0> puts "a\\b".inspect
> "a\\b"
> => nil
>
> Cheers
>
> robert

Robert,

Thanks for the quick response:

Here's the snippet of my YAML file

--- snip ---
C:
- ^{\circ}
- degree Celsius
- degrees Celsius
--- snip ---

After loading the file via YAML::load into a "myVar" object, when I
pretty print (pp) the hash myVar["C"][0], the output is:

"^{\\circ}"

REAL TIME UPDATE... Your comment on "inspect" reminded me to verify that
pretty printing was doing just that!

puts myVar["C"][0] produces exactly what I wanted... "^{\circ}" (with
one slash!)

Thanks for your help!

Lee
--
Posted via http://www.ruby-....