/
chapter2.coffee
49 lines (38 loc) · 1.33 KB
/
chapter2.coffee
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
console.log "================================================================================"
console.log "Chapter 2"
console.log "========================================"
console.log "Question 1"
clearArray = (arr) ->
arr.splice 0, arr.length
clearArrayClearedArray = (arr) ->
arr.splice 0, arr.length
arr
clearArrayNull = (arr) ->
arr.splice 0, arr.length
return
array = [1..5]
array.id = 1
arrayCleared = clearArray(array)
arrayClearedArray = clearArrayClearedArray(array)
arrayNull = clearArrayNull(array)
array.id = 2
console.log "#{arrayCleared.id != array.id} : #{arrayCleared.id} != #{array.id}"
console.log "#{arrayClearedArray.id == array.id} : #{arrayClearedArray.id} == #{array.id}"
console.log "#{!arrayNull?} : !#{arrayNull}?"
console.log "========================================"
console.log "Question 2"
a_fct = (arg1, arg2, arg3) ->
arg1 == "arg1" || arg2 == "arg2" || arg3 == "arg3"
run = (fct, args...) ->
fct(args...)
runOfficial = (fct, args...) ->
fct.apply this, args
console.log "#{run(a_fct, "arg1", "arg2", "arg3")}"
console.log "#{runOfficial(a_fct, "arg1", "arg2", "arg3")}"
console.log "========================================"
console.log "Question 7"
x = true
showAnswer = (x = x) ->
console.log if x then 'It works!' else 'Nope.'
showAnswer()
# Doesn't work because x is not know in the method context