A first class function—an object that wraps an executable chunk of code. Here is a friendly introduction.
Creates a new function from… function
. Of course, function
is already a
function, so this really just returns the argument. It exists mainly to let you
create a “bare” function when you don’t want to immediately pass it as a block
argument to some other method.
var fn = Fn.new { System.print("The body") }
It is a runtime error if function
is not a function.
The number of arguments the function requires.
System.print(Fn.new {}.arity) //> 0 System.print(Fn.new {|a, b, c| a }.arity) //> 3
Invokes the function with the given arguments.
var fn = Fn.new { |arg| System.print(arg) //> Hello world } fn.call("Hello world")
It is a runtime error if the number of arguments given is less than the arity of the function. If more arguments are given than the function’s arity they are ignored.