Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
JRuby problem
Ahmed Abdelsalam
4/22/2009 3:45:00 PM
Hi,...
I'm trying to execute the following lines:
ScriptContext sct = jruby.getContext();
jruby.eval("sheet = Spreadsheet.new", sct);
jruby.eval("sheet.cells.a1 = 'Welcome'", sct);
The first two lines are executed correctly, but the last one gives the
following error:
undefined local variable or method `sheet' for main:Object
it indicates that sheet is undefined although it's defined in line 2.
When I try to execute both commands in a single statement like:
jruby.eval("sheet = Spreadsheet.new \n sheet.cells.a1 = 'Welcome'",
sct);
The statement is executed correctly.
Please help
Regards,...
Ahmed
--
Posted via
http://www.ruby-...
.
3 Answers
James Herdman
4/22/2009 4:09:00 PM
0
[Note: parts of this message were removed to make it a legal post.]
My guess is that the context fails to keep track of local variables. Try an
experiment with something simpler:
ScriptContext sct = jruby.getContext
jruby.eval("name = 'Ahmed'")
jruby.eval('puts "My name is #{name}"')
If things explode, my theory is correct.
James
PS: Semi-colons aren't required, nor are empty parenthesis. It's considered
out of the Ruby norm to use them. As such, I'd avoid them in your coding.
See
http://www.pathf.com/blogs/ruby-and-rails-st...
On Wed, Apr 22, 2009 at 11:45 AM, Ahmed Abdelsalam <ahmed@amanzitel.com>wrote:
> Hi,...
>
> I'm trying to execute the following lines:
>
> ScriptContext sct = jruby.getContext();
> jruby.eval("sheet = Spreadsheet.new", sct);
> jruby.eval("sheet.cells.a1 = 'Welcome'", sct);
>
> The first two lines are executed correctly, but the last one gives the
> following error:
> undefined local variable or method `sheet' for main:Object
>
> it indicates that sheet is undefined although it's defined in line 2.
>
> When I try to execute both commands in a single statement like:
> jruby.eval("sheet = Spreadsheet.new \n sheet.cells.a1 = 'Welcome'",
> sct);
>
> The statement is executed correctly.
>
> Please help
>
> Regards,...
>
> Ahmed
> --
> Posted via
http://www.ruby-...
.
>
>
Ahmed Abdelsalam
4/22/2009 4:16:00 PM
0
James Herdman wrote:
> My guess is that the context fails to keep track of local variables. Try
> an
> experiment with something simpler:
>
> ScriptContext sct = jruby.getContext
> jruby.eval("name = 'Ahmed'")
> jruby.eval('puts "My name is #{name}"')
>
> If things explode, my theory is correct.
>
> James
>
> PS: Semi-colons aren't required, nor are empty parenthesis. It's
> considered
> out of the Ruby norm to use them. As such, I'd avoid them in your
> coding.
> See
http://www.pathf.com/blogs/ruby-and-rails-st...
Thanks for response. the code you sent is missing using sct, but I
updated it:
ScriptContext sct = jruby.getContext();
jruby.eval("name = 'Ahmed'", sct);
jruby.eval("puts \"My name is #{name}\"", sct);
also not working, the same error: undefined local variable or method
`name' for main:Object
PS: Semi-colon is required by java code
--
Posted via
http://www.ruby-...
.
Ahmed Abdelsalam
4/22/2009 4:35:00 PM
0
Ahmed Abdelsalam wrote:
> James Herdman wrote:
>> My guess is that the context fails to keep track of local variables. Try
>> an
>> experiment with something simpler:
>>
>> ScriptContext sct = jruby.getContext
>> jruby.eval("name = 'Ahmed'")
>> jruby.eval('puts "My name is #{name}"')
>>
>> If things explode, my theory is correct.
>>
>> James
>>
>> PS: Semi-colons aren't required, nor are empty parenthesis. It's
>> considered
>> out of the Ruby norm to use them. As such, I'd avoid them in your
>> coding.
>> See
http://www.pathf.com/blogs/ruby-and-rails-st...
>
> Thanks for response. the code you sent is missing using sct, but I
> updated it:
> ScriptContext sct = jruby.getContext();
> jruby.eval("name = 'Ahmed'", sct);
> jruby.eval("puts \"My name is #{name}\"", sct);
>
> also not working, the same error: undefined local variable or method
> `name' for main:Object
>
> PS: Semi-colon is required by java code
I found a solution for the problem, it's a discussed bug:
Take a look: markmail.org/message/ze4vwkscc6w3cpc7
and
http://jira.codehaus.org/browse...
A temporary solution is to add $ before variable name so that it's seen
in the same context with successive eval commands
--
Posted via
http://www.ruby-...
.
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
JRuby problem
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password