wren

a classy little scripting language

Fn Class

A first class function—an object that wraps an executable chunk of code. Here is a friendly introduction.

Static Methods #

Fn.new(function) #

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.

Methods #

arity #

The number of arguments the function requires.

System.print(Fn.new {}.arity) //> 0
System.print(Fn.new {|a, b, c| a }.arity) //> 3

call(args…) #

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.

AltStyle によって変換されたページ (->オリジナル) /