Execute ruby commands in a program

Ok so lets say i have a program, And within the program i call a command
such as Ruby:

Is there anyway to be able to run live ruby code and print the answers
(i dont really know how to put it) so like…

Ruby: name = ‘john’; puts “Hi” if name == ‘john’
Program: Hi

Sounds weird i know, But if Anyone out there understands me that would
be great…

I want to stay away from shell one liners like ruby -e “code here”

Thanks in advance

Um, this sounds like ‘irb’. Depending on what OS you’re on and how
you installed ruby, you should just be able to type ‘irb’ at the
command-line. That sounds like what you’re after.

Haze N. [email protected] writes:

Is there anyway to be able to run live ruby code and print the answers
(i dont really know how to put it) so like…

Ruby: name = ‘john’; puts “Hi” if name == ‘john’
Program: Hi

Sounds weird i know, But if Anyone out there understands me that would
be great…

I want to stay away from shell one liners like ruby -e “code here”

I have a bit of trouble understanding what it is you want to have
happen, especially since you specifically wish to avoid 1-liners.

Is “irb” (bundled with ruby) what you want?

Absent that, at the shell you can just run “ruby”, type some ruby
code, then type
END
on a line by itself, (that’s two underscores, then END, then two more
underscores) and the code will then run.

Is either of this what you wanted?

Sorry its quite hard to explain, Its not IRB, because i want to actually
run a command from within another ruby script… Lets say i wanted to do
a 1 liner from within the program i could do something like…

me: ruby puts “Hello”
script runs `ruby -e “puts ‘Hello’”
Program: Hello

But i didn’t really want to do any 1 liners, althouth if i did, lets say
i have

while msg = gets
if msg =~ /^ruby (.+)/i
msg.gsub!(/"/, “’”)
message = ruby -e "#{$1}"
puts message
end
end

and input was…

puts ‘hello’

How could i return the input?

On Aug 18, 2007, at 1:34 PM, Haze N. wrote:

But i didn’t really want to do any 1 liners, althouth if i did,

and input was…

puts ‘hello’

How could i return the input?

Posted via http://www.ruby-forum.com/.

look up eval

Thanks, i looked it up and coded something pretty much the same except
something like message = eval(“#{$1}”)… when i print out the return it
just print nil

What did you expect it to print?

mfg, simon … l

John J. wrote:

On Aug 18, 2007, at 1:34 PM, Haze N. wrote:

But i didn’t really want to do any 1 liners, althouth if i did,

and input was…

puts ‘hello’

How could i return the input?

Posted via http://www.ruby-forum.com/.

look up eval

Thanks, i looked it up and coded something pretty much the same except
something like message = eval(“#{$1}”)… when i print out the return it
just print nil