# Ruby Currying – HackerRank Solution

In this post, we will solve Ruby Currying HackerRank Solution. This problem (Currying) is a part of HackerRank Ruby series.

## Problem

Currying is a technique in which a function accepts n parameters and turns it into a sequence of n functions, each of them take 1 parameter.

Example :-

``````multiply_numbers = -> (x,y) do
x*y
end

doubler = multiply_numbers.curry.(2)
tripler = multiply_numbers.curry.(3)

puts doubler.(4)    #8
puts tripler.(4)    #12``````

In the above example, lambda take two parameters xy and return the product of the two.
`multiply_numbers.curry.(2)` returns a lambda which takes only one parameter necessary for calculation.

You are given a partially complete code. Your task is to fill in the blanks (`_______`).
Write a curry, which pre-fills power_function with variable base.

## Solution – Ruby Currying – HackerRank Solution

```power_function = -> (x, z) {
(x) ** z
}

base = gets.to_i
raise_to_power = power_function.curry.(base)

power = gets.to_i
puts raise_to_power.(power)
```

Note: This problem (Ruby Currying) is generated by HackerRank but the solution is provided by CodingBroz. This tutorial is only for Educational and Learning purpose.