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: <command>

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

···

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

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.

···

On Aug 18, 11:16 am, Haze Noc <h...@the-c0re.org> wrote:

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

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
--
Posted viahttp://www.ruby-forum.com/.

Haze Noc <h4z3@the-c0re.org> 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?

···

--
s=%q( Daniel Martin -- martin@snowplow.org
       puts "s=%q(#{s})",s.to_a.last )
       puts "s=%q(#{s})",s.to_a.last

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?

···

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

look up eval

···

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

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?
--
Posted via http://www.ruby-forum.com/\.

John Joyce wrote:

···

On Aug 18, 2007, at 1:34 PM, Haze Noc 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
--
Posted via http://www.ruby-forum.com/\.

* Haze Noc <h4z3@the-c0re.org> (21:05) schrieb:

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