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
+4 -4
View File
@@ -1,5 +1,5 @@
class Foo {
new(value) { _value = value }
this new(value) { _value = value }
toString { _value }
bar=(value) {
_value = value
@@ -7,9 +7,9 @@ class Foo {
}
}
var a = new Foo("a")
var b = new Foo("b")
var c = new Foo("c")
var a = Foo.new("a")
var b = Foo.new("b")
var c = Foo.new("c")
// Assignment is right-associative.
a.bar = b.bar = c.bar = "d"
+1 -1
View File
@@ -2,5 +2,5 @@ class Foo {
bar=(value) { value }
}
var foo = new Foo
var foo = Foo.new()
(foo.bar) = "value" // expect error
+1 -1
View File
@@ -2,5 +2,5 @@ class Foo {
bar=(value) { value }
}
var foo = new Foo
var foo = Foo.new()
"a" + foo.bar = "value" // expect error
+1 -1
View File
@@ -4,5 +4,5 @@ class Foo {
}
}
var foo = new Foo
var foo = Foo.new()
foo.bar = "value" // expect: value
+1 -1
View File
@@ -2,5 +2,5 @@ class Foo {
bar=(value) { value }
}
var foo = new Foo
var foo = Foo.new()
a is foo.bar = "value" // expect error
+1 -1
View File
@@ -2,5 +2,5 @@ class Foo {
bar=(value) { value }
}
var foo = new Foo
var foo = Foo.new()
!foo.bar = "value" // expect error
+1 -1
View File
@@ -2,5 +2,5 @@ class Foo {
bar=(value) { "result" }
}
var foo = new Foo
var foo = Foo.new()
IO.print(foo.bar = "value") // expect: result
@@ -3,6 +3,6 @@ class Foo {
bar { IO.print("get") }
}
var foo = new Foo
var foo = Foo.new()
foo.bar = "value" // expect: set
foo.bar // expect: get