title: Simple Currying in Ruby
body: <p>I'm trying to do some currying in ruby:</p>
  
  <pre><code>def add(a,b)
    return a+b
  end
  
  plus = lambda {add}
  curry_plus = plus.curry
  plus_two = curry_plus[2] #Line 24
  puts plus_two[3]
  </code></pre>
  
  <p>I get the error</p>
  
  <pre><code>func_test.rb:24:in `[]': wrong number of arguments (1 for 0) (ArgumentError)
  </code></pre>
  
  <p>from func_test.rb:24:in `'</p>
  
  <p>But if I do</p>
  
  <pre><code>plus = lambda {|a,b| a+ b}
  </code></pre>
  
  <p>It seems to work. But by printing plus after the assigning with lambda both ways return the same type of object. What have I misunderstood?</p>