Hallo,
I searched high and low to find how "command interpretation" actually works. But all I found is [1]:
`echo command interpretation with interpolation and backslashes`
%x(echo command interpretation with interpolation and backslashes)
Now, this does not explain what kind of interpolation is done and more importantly: How to switch interpolation off.
Background: I use ruby on the vms operating system and I want to run the following test command:
x = ´WRITE SYS$OUTPUT F$TRNLNM("SOURCE")´
But all I get is:
test.ruby:8: warning: parenthesize argument(s) for future version
test.ruby:8: parse error
x = ´WRITE SYS$OUTPUT F$TRNLNM("SOURCE")´
^
From which I deduct that some "magic" is done with the $ character which I don't want.
Martin
[1] http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Literals#Interpolation
···
--
Martin Krischik
Use system with multiple arguments. I think that should help.
robert
···
On 07.05.2007 12:43, Martin Krischik wrote:
Hallo,
I searched high and low to find how "command interpretation" actually works. But all I found is [1]:
`echo command interpretation with interpolation and backslashes`
%x(echo command interpretation with interpolation and backslashes)
Now, this does not explain what kind of interpolation is done and more importantly: How to switch interpolation off.
Background: I use ruby on the vms operating system and I want to run the following test command:
x = ´WRITE SYS$OUTPUT F$TRNLNM("SOURCE")´
But all I get is:
test.ruby:8: warning: parenthesize argument(s) for future version
test.ruby:8: parse error
x = ´WRITE SYS$OUTPUT F$TRNLNM("SOURCE")´
^
From which I deduct that some "magic" is done with the $ character which I don't want.
Martin
[1] Ruby Programming/Syntax/Literals - Wikibooks, open books for an open world
In the mail you sent, I saw character \264 (octal) where there should be a
backtick. A backtick is \140 (octal), \x60 (hex), 96 (decimal)
Have you tried using %x(...) instead?
···
On Mon, May 07, 2007 at 07:45:05PM +0900, Martin Krischik wrote:
Background: I use ruby on the vms operating system and I want to run the
following test command:
x = ´WRITE SYS$OUTPUT F$TRNLNM("SOURCE")´
But all I get is:
test.ruby:8: warning: parenthesize argument(s) for future version
test.ruby:8: parse error
x = ´WRITE SYS$OUTPUT F$TRNLNM("SOURCE")´
^
From which I deduct that some "magic" is done with the $ character
which I don't want.
What kind of quote is a ´ ? It doesn't work out to be a backquote when I
view it on my Linux system. Unlike perl and the shell, the $ isn't used
for any magic in Ruby strings. (The #{} syntax is used instead.) The
interpreter has decided to parse this as a function call within Ruby, and
I'm guessing that's because your quotes aren't quotes.
--Ken
···
On Mon, 07 May 2007 12:43:19 +0200, Martin Krischik wrote:
Hallo,
I searched high and low to find how "command interpretation" actually
works. But all I found is [1]:
`echo command interpretation with interpolation and backslashes`
%x(echo command interpretation with interpolation and backslashes)
Now, this does not explain what kind of interpolation is done and more
importantly: How to switch interpolation off.
Background: I use ruby on the vms operating system and I want to run the
following test command:
x = ´WRITE SYS$OUTPUT F$TRNLNM("SOURCE")´
But all I get is:
test.ruby:8: warning: parenthesize argument(s) for future version
test.ruby:8: parse error
x = ´WRITE SYS$OUTPUT F$TRNLNM("SOURCE")´
^
From which I deduct that some "magic" is done with the $ character
which I don't want.
--
Ken Bloom. PhD candidate. Linguistic Cognition Laboratory.
Department of Computer Science. Illinois Institute of Technology.
http://www.iit.edu/~kbloom1/
Brian Candler schrieb:
Background: I use ruby on the vms operating system and I want to run the following test command:
x = ´WRITE SYS$OUTPUT F$TRNLNM("SOURCE")´
But all I get is:
test.ruby:8: warning: parenthesize argument(s) for future version
test.ruby:8: parse error
x = ´WRITE SYS$OUTPUT F$TRNLNM("SOURCE")´
^
From which I deduct that some "magic" is done with the $ character which I don't want.
In the mail you sent, I saw character \264 (octal) where there should be a
backtick. A backtick is \140 (octal), \x60 (hex), 96 (decimal)
Another good reason to retire back ticks.
Have you tried using %x(...) instead?
Indeed that works - thanks!
Martin
···
On Mon, May 07, 2007 at 07:45:05PM +0900, Martin Krischik wrote:
--
Martin Krischik