Queue/Definition: Difference between revisions
Content added Content deleted
Line 366:
=={{header|AutoHotkey}}==
<lang AutoHotkey>
MsgBox % "Len = " len("qu") ; Number of entries
While !empty("qu") ; Repeat until queue is not empty
MsgBox % pop("qu") ; Print popped values (2,
MsgBox Error = %ErrorLevel% ; ErrorLevel = 0: OK
MsgBox % pop("qu") ; Empty
MsgBox Error = %ErrorLevel%
MsgBox % "Len = " len("qu") ; Number of entries
Global
}
pop(queue) { ; pop value from queue named "queue" (!=_,_1,_2)▼
Global
▲push(queue,x) { ; push x onto queue named "queue"
RegExMatch(%queue%, "([^\|]+)\|?(.*)", _)
Return _1, ErrorLevel := -(%queue%=""), %queue% := _2
If (%queue% = "")▼
▲ %queue% .= "|" x
}
empty(queue) { ; check if queue named "queue" is empty▼
Global
▲pop(queue) { ; pop value from queue named "queue"
}
len(queue) { ; number of entries in "queue"
Global
StringReplace %queue%, %queue%, |, |, UseErrorLevel
▲empty(queue) { ; check if queue named "queue" is empty
▲ Return, %queue% = ""
}</lang>
|