Class | Proc |
In: |
lib/backports/1.8.7/proc.rb
lib/backports/1.9.1/proc.rb |
Parent: | Object |
yield | -> | self |
call | -> | === |
Standard in Ruby 1.9. See official documentation
# File lib/backports/1.9.1/proc.rb, line 34 34: def curry(argc = nil) 35: min_argc = arity < 0 ? -arity - 1 : arity 36: argc ||= min_argc 37: if lambda? and arity < 0 ? argc < min_argc : argc != arity 38: raise ArgumentError, "wrong number of arguments (#{argc} for #{min_argc})" 39: end 40: creator = lambda? ? :lambda : :proc 41: block = send(creator) do |*args| 42: if args.count >= argc 43: call(*args) 44: else 45: send(creator) do |*more_args| 46: args += more_args 47: block.call(*args) 48: end 49: end 50: end 51: end
Standard in Ruby 1.9. See official documentation
# File lib/backports/1.9.1/proc.rb, line 4 4: def lambda? 5: !!@is_lambda 6: end