Skip to content

Commit 65e07f9

Browse files
committed
Added more examples and changed print to assert
1 parent 64a3870 commit 65e07f9

File tree

6 files changed

+46
-37
lines changed

6 files changed

+46
-37
lines changed

squirrel/comma_operator.nut

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
local a, b, x
2-
x = a = 5, b = 9, a * a + b * b
2+
x = (a = 5, b = 9, a * a + b * b)
33

4-
print(a + "\n")
5-
print(b + "\n")
6-
print(x + "\n")
4+
assert(a == 5)
5+
assert(b == 9)
6+
assert(x == 106)
Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
print((0.1 + 0.2 == 0.3) + "\n") // Outputs true
2-
print((0.01 + 0.02 == 0.03) + "\n") // Outputs true
3-
print((0.001 + 0.002 == 0.003) + "\n") // Outputs true
4-
print((0.0001 + 0.0002 == 0.0003) + "\n") // Outputs false
5-
print((0.00001 + 0.00002 == 0.00003) + "\n") // Outputs true
6-
print((0.000001 + 0.000002 == 0.000003) + "\n") // Outputs true
7-
print((0.0000001 + 0.0000002 == 0.0000003) + "\n") // Outputs true
8-
print((0.00000001 + 0.00000002 == 0.00000003) + "\n") // Outputs true
9-
print((0.000000001 + 0.000000002 == 0.000000003) + "\n") // Outputs false
10-
print((0.0000000001 + 0.0000000002 == 0.0000000003) + "\n") // Outputs true
11-
print((0.00000000001 + 0.00000000002 == 0.00000000003) + "\n") // Outputs true
12-
print((0.000000000001 + 0.000000000002 == 0.000000000003) + "\n") // Outputs true
13-
print((0.0000000000001 + 0.0000000000002 == 0.0000000000003) + "\n") // Outputs true
14-
print((0.00000000000001 + 0.00000000000002 == 0.00000000000003) + "\n") // Outputs true
15-
print((0.000000000000001 + 0.000000000000002 == 0.000000000000003) + "\n") // Outputs false
16-
print((0.0000000000000001 + 0.0000000000000002 == 0.0000000000000003) + "\n") // Outputs true
1+
assert(0.1 + 0.2 == 0.3) // Outputs true
2+
assert(0.01 + 0.02 == 0.03) // Outputs true
3+
assert(0.001 + 0.002 == 0.003) // Outputs true
4+
assert(0.0001 + 0.0002 != 0.0003) // Outputs false
5+
assert(0.00001 + 0.00002 == 0.00003) // Outputs true
6+
assert(0.000001 + 0.000002 == 0.000003) // Outputs true
7+
assert(0.0000001 + 0.0000002 == 0.0000003) // Outputs true
8+
assert(0.00000001 + 0.00000002 == 0.00000003) // Outputs true
9+
assert(0.000000001 + 0.000000002 != 0.000000003) // Outputs false
10+
assert(0.0000000001 + 0.0000000002 == 0.0000000003) // Outputs true
11+
assert(0.00000000001 + 0.00000000002 == 0.00000000003) // Outputs true
12+
assert(0.000000000001 + 0.000000000002 == 0.000000000003) // Outputs true
13+
assert(0.0000000000001 + 0.0000000000002 == 0.0000000000003) // Outputs true
14+
assert(0.00000000000001 + 0.00000000000002 == 0.00000000000003) // Outputs true
15+
assert(0.000000000000001 + 0.000000000000002 != 0.000000000000003) // Outputs false
16+
assert(0.0000000000000001 + 0.0000000000000002 == 0.0000000000000003) // Outputs true

squirrel/sum_of_even_squares.nut

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
1-
function assert(success, line)
2-
{
3-
if (!success) throw "Assertion test failed at line " + line
4-
}
5-
61
function sumOfEvenSquares(a)
72
{
83
return a.filter(@(_, a) a % 2 == 0).map(@(a) a * a).reduce(@(a, b) a + b) || 0
94
}
105

11-
assert(sumOfEvenSquares([]) == 0, __LINE__)
12-
assert(sumOfEvenSquares([1]) == 0, __LINE__)
13-
assert(sumOfEvenSquares([1,2]) == 4, __LINE__)
14-
assert(sumOfEvenSquares([1,2,3]) == 4, __LINE__)
15-
assert(sumOfEvenSquares([1,2,3,4]) == 20, __LINE__)
16-
assert(sumOfEvenSquares([4,6,7,2]) == 56, __LINE__)
6+
assert(sumOfEvenSquares([]) == 0)
7+
assert(sumOfEvenSquares([1]) == 0)
8+
assert(sumOfEvenSquares([1,2]) == 4)
9+
assert(sumOfEvenSquares([1,2,3]) == 4)
10+
assert(sumOfEvenSquares([1,2,3,4]) == 20)
11+
assert(sumOfEvenSquares([4,6,7,2]) == 56)

squirrel/table.nut

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
local empty = {}
2+
local student =
3+
{
4+
id = "1J93DZ"
5+
age = 4
6+
name = "Jason"
7+
}
8+
9+
local shelf = {}
10+
shelf.book1 <- "C# Manual Book"
11+
shelf.book2 <- "Scala Manual Book"
12+
shelf.book3 <- "Go Manual Book"
13+
assert(shelf.book1 == "C# Manual Book")
14+
assert(shelf["book2"] == "Scala Manual Book")
15+
delete shelf.book3
16+
assert(!("book3" in shelf))
17+
assert(delete shelf.book1 == "C# Manual Book")
18+

squirrel/test.ps1

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ Get-Content "$PSScriptRoot\..\test\wnba_input" |
3030
sq "$PSScriptRoot\top_ten_scorers.nut" |
3131
Compare-Object (Get-Content "$PSScriptRoot\..\test\wnba_expected") |
3232
Assert-MatchTests &&
33+
sq "$PSScriptRoot\table.nut" &&
3334
sq "$PSScriptRoot\triple.nut" |
3435
Compare-Object (Get-Content "$PSScriptRoot\..\test\triple_expected") |
3536
Assert-MatchTests &&

squirrel/wordcount.nut

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,13 @@ input = input.tolower()
77

88
local regex = regexp("[a-z\']+")
99
local counts = {}
10-
local index = 0
11-
for (;;)
10+
for (local index = 0, res = regex.search(input, index); res != null; index = res.end, res = regex.search(input, index))
1211
{
13-
local res = regex.search(input, index)
14-
if (res == null)
15-
break
1612
local word = input.slice(res.begin, res.end)
1713
if (word in counts)
1814
counts[word]++
1915
else
2016
counts[word] <- 1
21-
index = res.end
2217
}
2318

2419
foreach (word in counts.keys().sort(@(a, b) a <=> b))

0 commit comments

Comments
 (0)