Reputation: 11
For one of ruby programming logic, am trying to convert the string output of one function into an array and from array have to feed the values to the variables declared in other function of the program
//response.each do |instance |
print "#{instance.private_ip_address}"
print "\n"
end
//
10.1.1.1
10.1.1.2
10.1.1.3
This output should be converted into array and feed as values in separate function of same program
def run_me
::
::
filter_pattern = '[w1,w2,w3,w4,w5,w6!="*#{array[0]}*"&&w6!="*#{array[1]}*&&w6!="*#{array[2]}*"]'
So that the output of filter_pattern , should be like below
'[w1,w2,w3,w4,w5,w6!="*10.1.1.1*"&&w6!="*10.1.1.2*"&&w6!="*10.1.1.3*"]'
Upvotes: -2
Views: 77
Reputation: 496
# Mocked responses for the sake of the example..
responses = [
OpenStruct.new(request_type: 'GET', private_ip_address: '10.1.1.1'),
OpenStruct.new(request_type: 'GET', private_ip_address: '10.1.1.2'),
OpenStruct.new(request_type: 'GET', private_ip_address: '10.1.1.3')
]
data_of_ips = [] # Storing ips in this array from the loop for later usage in run_me method
responses.each do |instance|
data_of_ips << instance.private_ip_address
end
# Now calling the run_me and pass the array as argument
run_me(data_of_ips)
# replace it in your filter like this
def run_me(ips)
#
#
filter_pattern = '[w1,w2,w3,w4,w5,w6!="*#{ips[0]}*"&&w6!="*#{ips[1]}*&&w6!="*#{ips[2]}*"]'^Z
end
Upvotes: 0