Use more conventional syntax for constructors.

They are now invoked like "new Foo".
Also, superclass constructors are now much less semantically
and syntactically weird. Since the instance is created before
any constructor is called, there's no point in time where the
instance isn't there.
This commit is contained in:
Bob Nystrom
2013-12-19 07:02:27 -08:00
parent b880b17db9
commit 4d67f2270a
30 changed files with 171 additions and 190 deletions
+6 -6
View File
@@ -1,13 +1,13 @@
// Ported from the Python version.
class Tree {
this new(item, depth) {
new(item, depth) {
_item = item
if (depth > 0) {
var item2 = item + item
depth = depth - 1
_left = Tree.new(item2 - 1, depth)
_right = Tree.new(item2, depth)
_left = new Tree(item2 - 1, depth)
_right = new Tree(item2, depth)
}
}
@@ -27,9 +27,9 @@ var stretchDepth = maxDepth + 1
var start = OS.clock
io.write("stretch tree of depth " + stretchDepth.toString + " check: " +
Tree.new(0, stretchDepth).check.toString)
new Tree(0, stretchDepth).check.toString)
var longLivedTree = Tree.new(0, maxDepth)
var longLivedTree = new Tree(0, maxDepth)
// iterations = 2 ** maxDepth
var iterations = 1
@@ -44,7 +44,7 @@ while (depth < stretchDepth) {
var check = 0
var i = 1
while (i < iterations + 1) {
check = check + Tree.new(i, depth).check + Tree.new(-i, depth).check
check = check + new Tree(i, depth).check + new Tree(-i, depth).check
i = i + 1
}
+5 -4
View File
@@ -1,5 +1,5 @@
class Toggle {
this new(startState) {
new(startState) {
_state = startState
}
@@ -11,7 +11,8 @@ class Toggle {
}
class NthToggle is Toggle {
this new(startState, maxCounter) super.new(startState) {
new(startState, maxCounter) {
super(startState)
_countMax = maxCounter
_count = 0
}
@@ -31,7 +32,7 @@ var start = OS.clock
var n = 1000000
var i = 0
var val = true
var toggle = Toggle.new(val)
var toggle = new Toggle(val)
while (i < n) {
val = toggle.activate.value
@@ -41,7 +42,7 @@ while (i < n) {
io.write(toggle.value)
val = true
var ntoggle = NthToggle.new(val, 3)
var ntoggle = new NthToggle(val, 3)
i = 0
while (i < n) {