feat: replace new keyword with this constructor syntax and ClassName.new() calls across core library and docs

Replace all uses of the `new` reserved word with explicit `this new()` constructor definitions and `ClassName.new()` instantiation calls in builtin/core.wren. Update all documentation files (classes.markdown, fiber.markdown, fn.markdown, sequence.markdown, error-handling.markdown, expressions.markdown, fibers.markdown, functions.markdown) to reflect the new constructor syntax, removing `new` keyword examples and replacing them with `ClassName.new()` patterns and `this new()` definitions.
This commit is contained in:
Bob Nystrom
2015-07-10 16:18:22 +00:00
parent 121d39cb42
commit e19ff59cce
221 changed files with 864 additions and 654 deletions
+5 -5
View File
@@ -4,7 +4,7 @@
A first class function—an object that wraps an executable chunk of code.
[Here](../functions.html) is a friendly introduction.
### new **Fn**(function)
### 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
@@ -12,7 +12,7 @@ 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.
:::dart
var fn = new Fn {
var fn = Fn.new {
IO.print("The body")
}
@@ -25,15 +25,15 @@ It is a runtime error if `function` is not a function.
The number of arguments the function requires.
:::dart
IO.print(new Fn {}.arity) // 0.
IO.print(new Fn {|a, b, c| a }.arity) // 3.
IO.print(Fn.new {}.arity) // 0.
IO.print(Fn.new {|a, b, c| a }.arity) // 3.
### **call**(args...)
Invokes the function with the given arguments.
:::dart
var fn = new Fn { |arg|
var fn = Fn.new { |arg|
IO.print(arg)
}