I am trying to pass a variable to the backticks `` function, but it is
always interpreted as a string. How can I get it to read the value,
instead? And once I do that, how can I get the results into an array?
Here's the example code (this probably looks horribly wrong to some
of you...):
def ping_host host
command=Array.new
command[0]=`ping host`
puts
puts command
end
puts 'What host would you like to ping?'
host = gets.chomp
ping_host host
I am trying to pass a variable to the backticks `` function, but it is
always interpreted as a string. How can I get it to read the value,
instead? And once I do that, how can I get the results into an array?
Here's the example code (this probably looks horribly wrong to some
of you...):
command[0]=`ping host`
Do this instead:
command[0]=`ping #{host}`
The #{} syntax can be used to interpose not just a variable,
but any arbitrary expression.
I am trying to pass a variable to the backticks `` function, but it is
always interpreted as a string. How can I get it to read the value,
instead? And once I do that, how can I get the results into an array?
Here's the example code (this probably looks horribly wrong to some
of you...):
def ping_host host
command=Array.new
command[0]=`ping host`
this line should be
command[0]=`ping #{host}`
···
On Sat, 21 Aug 2004 03:15:53 +0900, DiesIrae <danb@mojolin.com> wrote:
puts
puts command
end
puts 'What host would you like to ping?'
host = gets.chomp
ping_host host
I am trying to pass a variable to the backticks `` function, but it is
always interpreted as a string. How can I get it to read the value,
instead? And once I do that, how can I get the results into an array?
Here's the example code (this probably looks horribly wrong to some
of you...):
def ping_host host
command=Array.new
command[0]=`ping host`
puts
puts command
end
puts 'What host would you like to ping?'
host = gets.chomp
ping_host host
You can interpolate your variable using the #{...} construct, and
if you want the results in an array, one line per element, you
can use #to_a:
def ping_host(host)
puts
puts `ping -c2 #{host}`.to_a # 2 pings only
end
puts 'What host would you like to ping?'
ping_host(gets.chomp)
I am trying to pass a variable to the backticks `` function, but it is
always interpreted as a string. How can I get it to read the value,
instead? And once I do that, how can I get the results into an array?
Here's the example code (this probably looks horribly wrong to some
of you...):
I am trying to pass a variable to the backticks `` function, but it is
always interpreted as a string. How can I get it to read the value,
instead? And once I do that, how can I get the results into an array?
Here's the example code (this probably looks horribly wrong to some
of you...):