# HackerRank Partial Applications problem solution in ruby

In this HackerRank Partial Applications problem solution in ruby programming In Partial Application, we create a lambda that takes a parameter and returns a lambda that does something with it.

Example:

multiply_function = -> (number) do

-> (another_number) do

number * another_number

end

end

doubler = multiply_function.(2)

tripler = multiply_function.(3)

puts doubler.(4)

puts tripler.(4)

In the above example, the lambda will take number as a parameter, and return a lambda. When you call this lambda with another_number, it will return the product of the two.

You are given a partially complete code. Your task is to fill in the blanks (_______).

Here, the combination is a variable that stores a partial application that computes combination nCr.

## Problem solution.

```class Integer
def fact
(1..self).reduce(:*) || 1
end
end
combination = -> (n) do
-> (r) do
n.fact / (r.fact*(n-r).fact)
end
end
n = gets.to_i
r = gets.to_i
nCr = combination.(n)
puts nCr.(r)
```

## Second solution.

```combination = -> (n) do
-> (r) do
top = (n-r+1..n).reduce(:*)
top/(1..r).reduce(:*)
end
end

n = gets.to_i
r = gets.to_i
nCr = combination.(n)
puts nCr.(r)
```