annotate core-javascript/core-javascript-work/closure-exercises.js @ 213:0ea90a1819c2 default tip

Custom theming
author Radomir Dopieralski <radomir.dopieralski@allegro.pl>
date Wed, 27 Jun 2012 16:35:54 +0200
parents 8cacef25f3d8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
160
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
1 var something;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
2
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
3 TEST('anon', function()
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
4 {
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
5 var answer;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
6
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
7 // Please write your answer here.
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
8
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
9 assert( answer() === 1 );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
10 });
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
11
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
12
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
13 TEST('anon', function()
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
14 {
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
15 var outer_function = function(){
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
16
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
17 var answer;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
18
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
19 // Please write your answer here.
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
20
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
21 return answer;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
22 };
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
23
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
24 var my_inner_function = outer_function();
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
25
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
26 assert( typeof my_inner_function === 'function' );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
27 assert( my_inner_function() === 1 );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
28 });
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
29
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
30
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
31 TEST('anon', function()
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
32 {
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
33 var outer_function = function(){
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
34
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
35 var answer;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
36
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
37 // Please write your answer here.
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
38
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
39 return answer;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
40 };
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
41
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
42 assert( outer_function()() === 1 );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
43 });
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
44
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
45
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
46 TEST('anon', function()
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
47 {
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
48 var outer_function = function(n){
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
49
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
50 var answer;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
51
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
52 // Please write your answer here.
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
53
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
54 return answer;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
55 };
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
56
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
57 assert( outer_function(1)() === 1 );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
58 assert( outer_function(2)() === 2 );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
59 assert( outer_function(3)() === 3 );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
60 });
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
61
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
62
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
63 TEST('anon', function()
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
64 {
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
65 var outer_function = function(n){
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
66
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
67 // Please write your answer here.
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
68 };
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
69
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
70 assert( outer_function(1)() === 1 );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
71 assert( outer_function(2)() === 2 );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
72 assert( outer_function(3)() === 3 );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
73 });
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
74
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
75
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
76 TEST('anon', function()
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
77 {
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
78 var value = 1;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
79
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
80 var get_value = function(){
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
81 return value;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
82 };
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
83
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
84 assert( get_value() === something );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
85 });
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
86
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
87
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
88 TEST('anon', function()
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
89 {
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
90 var value = 1;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
91
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
92 var set_value = function(n){
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
93 value = n;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
94 };
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
95
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
96 set_value(2);
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
97 assert( value === something );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
98 });
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
99
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
100
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
101 TEST('anon', function()
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
102 {
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
103 var value = 1;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
104
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
105 var get_value = function(){
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
106 return value;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
107 };
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
108
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
109 var set_value = function(n){
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
110 value = n;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
111 };
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
112
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
113 assert( get_value() === something );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
114
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
115 set_value(2);
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
116 assert( get_value() === something );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
117 });
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
118
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
119
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
120 TEST('anon', function()
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
121 {
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
122 var value = 1;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
123
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
124 var ddd = function(aaa, bbb){
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
125 return {
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
126 // Please write your answer here.
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
127 };
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
128 };
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
129
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
130 var obj = ddd(1, 2);
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
131
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
132 assert( obj.aaa === 1 );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
133 assert( obj.bbb === 2 );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
134
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
135 });
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
136
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
137
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
138 TEST('anon', function()
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
139 {
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
140
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
141 var get_set_factory = function(){
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
142
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
143 // Please write your answer here.
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
144
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
145 return {
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
146 get : get,
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
147 set : set
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
148 };
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
149 };
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
150
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
151 var tmp;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
152 tmp = get_set_factory();
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
153 var get_a = tmp.get;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
154 var set_a = tmp.set;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
155
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
156 tmp = get_set_factory();
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
157 var get_b = tmp.get;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
158 var set_b = tmp.set;
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
159
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
160
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
161 set_a('aaa');
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
162 assert( get_a() == 'aaa' );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
163
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
164 set_b('bbb');
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
165 assert( get_b() == 'bbb' );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
166
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
167 assert( get_a() == 'aaa' );
8cacef25f3d8 $ python py/remove_answers.py
jf3243
parents:
diff changeset
168 });