# 创建匿名函数
-> x { x + 1 }
puts -> x {x+1} #本质上是创建了一个Proc对象
puts -> x {x+1}.call(100) #调用匿名函数，返回101

# 柯里化
# 把接受多个参数的函数变换成接受一个单一参数（最初函数的第一个参数）的函数，并且返回接受余下的参数而且返回结果的新函数的技术
sum=-> (x,y,z){x+y+z}
puts sum.call(1,2,3) # 6
sum = -> (x) {
  -> (y) {
    -> (z) {
      x + y + z
    }
  }
}
puts sum.call(1).call(2).call(3) # 6
puts sum[1][2][3] # 6