Hackerrank Ruby - Methods - Arguments Solution
1 min read

Hackerrank Ruby - Methods - Arguments Solution

Hackerrank Ruby - Methods - Arguments Solution

In the previous challenge, we learned to use methods to abstract similar computations into logical chunks of code that otherwise would be difficult to manage. Methods, in a way, behave like a black box.  The programmer works mainly on 1) inputs, 2) expected output, and 3) how it works.  We do not have to worry about method internals. In this set of tutorials, we will focus on understanding the three aspects described above.

The ability to pass arguments allows complexity to be hidden from the programmer. We have already seen straightforward cases of passing several values to methods as variables, but there is much more to Ruby's methods.

Consider a case where a method is invoked from different portions of code with a variation in only one of the arguments. All other arguments remain constant. In such cases, it is useful to assign default values to the variables. It allows us to avoid passing a value for every argument, decreasing the chance of error.

For example,def prefix(s, len=1)  s[0,len]end > prefix("Ruby", 3) # => "Rub"> prefix("Ruby")    # => "R"

In this challenge, your task is to determine what the take method does.  Study the examples below, then implement the method. > take([1,2,3], 1)[2, 3]> take([1,2,3], 2)[3]> take([1,2,3])[2, 3]


Note

The method can be invoked as name('Foolan', 'Barik') or, without the parentheses, as name 'Foolan', 'Barik'.  The latter convention can be confusing and is not recommended.

Solution in ruby

Approach 1.

def take(arr,index)
    arr.drop(index)
end

Approach 2.

# Your code here
def take(x, y)
    x.drop(y)
end
    

Approach 3.

# Your code here
def take(arr, pos=1)
  arr[pos..-1]
end

Enjoying these posts? Subscribe for more


Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

That's okay. But without advertising-income, we can't keep making this site awesome.

We don't have any banner, Flash, animation, obnoxious sound, or popup ad. We do not implement these annoying types of ads!

We need money to operate the site, and almost all of it comes from our online advertising.

Please add thepoorcoder.com to your ad blocking whitelist or disable your adblocking software.

×