从CoffeeScript Ristretto看以下内容:
QueueMaker = ->
do (queue = undefined) ->
array: []
head: 0
tail: -1
pushTail: (value) ->
queue.array[tail += 1] = value
pullHead: ->
unless queue.isEmpty()
do (value = queue.array[queue.head]) ->
queue.array[queue.head] = undefined
queue.head += 1
value
isEmpty: ->
queue.tail < queue.head
可以变异queue.head
- http://jsfiddle.net/VQLNG/。
queue = QueueMaker()
queue.head = 666
console.log queue
我怎样才能编写上面的函数以便head
不公开?