Quantcast
Channel: User Karthik T - Stack Overflow
Viewing all articles
Browse latest Browse all 42

Returning multiple values in Ruby, to be used to call a function

$
0
0

Is it possible to return multiple values from a function?

I want to pass the return values into another function, and I wonder if I can avoid having to explode the array into multiple values

My problem?I am upgrading Capybara for my project, and I realized, thanks to CSS 'contains' selector & upgrade of Capybara, that the statement below will no longer work

has_selector?(:css, "#rightCol:contains(\"#{page_name}\")")

I want to get it working with minimum effort (there are a lot of such cases), So I came up with the idea of using Nokogiri to convert the css to xpath. I wanted to write it so that the above function can become

has_selector? xpath(:css, "#rightCol:contains(\"#{page_name}\")")

But since xpath has to return an array, I need to actually write this

has_selector?(*xpath(:css, "#rightCol:contains(\"#{page_name}\")"))

Is there a way to get the former behavior?

It can be assumed that right now xpath func is like the below, for brevity.

def xpath(*a)  [1, 2]end

Viewing all articles
Browse latest Browse all 42


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>