YAPC::EU 2018 Glasgow Update!

This commit is contained in:
Ingy döt Net 2018-08-17 15:15:24 +01:00
parent 22f33d4004
commit 4e2d22a71d
1170 changed files with 15042 additions and 3047 deletions

View file

@ -1,7 +1,9 @@
let myQueue = Queue[Str]()
myQueue.push 'foo'
myQueue.push 'bar'
myQueue.push 'baz'
print myQueue.pop() # 'foo'
print myQueue.pop() # 'bar'
print myQueue.pop() # 'baz'
let my_queue = Queue[Str]()
my_queue.push! 'foo'
my_queue.push! 'bar'
my_queue.push! 'baz'
print my_queue.pop() # 'foo'
print my_queue.pop() # 'bar'
print my_queue.pop() # 'baz'

View file

@ -0,0 +1,13 @@
USING: combinators deques dlists kernel prettyprint ;
IN: rosetta-code.queue-usage
DL{ } clone { ! make new queue
[ [ 1 ] dip push-front ] ! push 1
[ [ 2 ] dip push-front ] ! push 2
[ [ 3 ] dip push-front ] ! push 3
[ . ] ! DL{ 3 2 1 }
[ pop-back drop ] ! pop 1 (and discard)
[ pop-back drop ] ! pop 2 (and discard)
[ pop-back drop ] ! pop 3 (and discard)
[ deque-empty? . ] ! t
} cleave

View file

@ -0,0 +1,6 @@
DL{ } clone {
[ [ { 1 2 3 } ] dip push-all-front ] ! push all from sequence
[ . ] ! DL{ 3 2 1 }
[ [ drop ] slurp-deque ] ! pop and discard all
[ deque-empty? . ] ! t
} cleave

View file

@ -0,0 +1,14 @@
q := queue[new]();
queue[enqueue](q,1);
queue[enqueue](q,2);
queue[enqueue](q,3);
queue[empty](q);
>>>false
queue[dequeue](q);
>>>1
queue[dequeue](q);
>>>2
queue[dequeue](q);
>>>3
queue[empty](q);
>>>true