fixing broken range literal expansions.

This commit is contained in:
Jeremy Ashkenas
2010-07-27 23:06:11 -04:00
parent fa4871574a
commit a4156b71fa
3 changed files with 7 additions and 2 deletions

View File

@@ -639,7 +639,7 @@
return ("[" + (range.join(', ')) + "]"); return ("[" + (range.join(', ')) + "]");
} else { } else {
o.index = i; o.index = i;
body.compileSimple(o); body = this.compileSimple(o);
} }
} else { } else {
clause = ("" + this.fromVar + " <= " + this.toVar + " ?"); clause = ("" + this.fromVar + " <= " + this.toVar + " ?");

View File

@@ -584,7 +584,7 @@ exports.RangeNode = class RangeNode extends BaseNode
return "[#{ range.join(', ') }]" return "[#{ range.join(', ') }]"
else else
o.index = i o.index = i
body.compileSimple o body = @compileSimple o
else else
clause = "#@fromVar <= #@toVar ?" clause = "#@fromVar <= #@toVar ?"
body = "var #i = #@fromVar; #clause #i <#@equals #@toVar : #i >#@equals #@toVar; #clause #i += 1 : #i -= 1" body = "var #i = #@fromVar; #clause #i <#@equals #@toVar : #i >#@equals #@toVar; #clause #i += 1 : #i -= 1"

View File

@@ -33,6 +33,11 @@ ok array.join(' ') is "6 7 8 9 10"
array = [5..1] array = [5..1]
ok array.join(' ') is '5 4 3 2 1' ok array.join(' ') is '5 4 3 2 1'
array = [30...0]
ok (len = array.length) is 30
ok array[len - 1] is 1
# String slicing (at least on Node). # String slicing (at least on Node).
hello = "Hello World" hello = "Hello World"