-
Notifications
You must be signed in to change notification settings - Fork 1
/
sample.tok
133 lines (101 loc) · 1.89 KB
/
sample.tok
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
var breakfast = "beignets";
var beverage = "cafe au lait";
breakfast = "beignets with " + beverage;
print breakfast;
var a = 12;
{
var b = a;
print a;
{
var c = b;
print "Different Values of c:";
print c;
c = 50;
print c;
c = "Yoo";
print c;
print "";
print "a from globals";
print a;
}
}
if (!false and true) {
print "print statement inside (!false and true) condition";
}
if (false or true) {
print "print statement inside (false or true) condition";
}
if (false or !true) {
print "print statement inside (false or !true) condition";
}
// Loops
var count = 5;
while(count != 0) {
print "This will print 5 times.";
count = count - 1;
}
for(var i = 0; i < 5; i = i + 1) {
print "This for loop runs 5 times";
}
// Functions
fun areWeHavingItYet() {
print "geddit?";
return "Yes we are!";
}
print areWeHavingItYet();
// Closures
fun outer() {
var x = "value";
fun middle() {
fun inner() {
print x;
}
print "create inner closure";
return inner;
}
print "return from outer";
return middle;
}
var mid = outer();
var in = mid();
in();
fun outer() {
var x = "outside";
fun inner() {
print x;
}
return inner;
}
var closure = outer();
closure();
// Classes
class CoffeeMaker {
init(coffee) {
this.coffee = coffee;
}
brew() {
print "Enjoy your cup of " + this.coffee;
// No reusing the grounds!
this.coffee = nil;
}
}
var maker = CoffeeMaker("coffee and Cocoa");
maker.brew();
// inheritance
class Doughnut {
cook() {
print "Dunk in the fryer.";
this.finish("sprinkles");
}
finish(ingredient) {
print "Finish with " + ingredient;
}
}
class Cruller < Doughnut {
finish(ingredient) {
// No sprinkles, always icing.
super.finish("icing");
}
}
var snacc = Cruller();
snacc.finish("something");