chore: reorganize doc site structure by moving core docs under modules/ and removing category metadata
Restructure the documentation hierarchy to prepare for documenting additional built-in modules. Move all core library documentation from `doc/site/core/` to `doc/site/modules/core/`, rename `modules.markdown` to `modularity.markdown`, remove `^category` metadata lines from all affected pages, update cross-reference links to use relative paths under the new structure, and add a TODO placeholder to the Class class page.
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
^title Fn Class
|
||||
|
||||
A first class function—an object that wraps an executable chunk of code.
|
||||
[Here][functions] is a friendly introduction.
|
||||
|
||||
[functions]: ../../functions.html
|
||||
|
||||
### 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](../functions.html#block-arguments) to some other method.
|
||||
|
||||
:::wren
|
||||
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.
|
||||
|
||||
:::wren
|
||||
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.
|
||||
|
||||
:::wren
|
||||
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.
|
||||
Reference in New Issue
Block a user