キュー(Queue)
キュー(Queue)とは先入れ先出しのリストのこと。「待ち行列」とも言う。VBSでは.NETのSystem.Collections.Queueを使うと簡単に作成できる。
' キューを作成
Dim myQueue
Set myQueue = CreateObject("System.Collections.Queue")
' 末尾にオブジェクトを追加
myQueue.Enqueue "Alice"
myQueue.Enqueue "Bob"
myQueue.Enqueue "Charlie"
' 先頭にあるオブジェクトを削除せずに返す
Wscript.echo myQueue.Peek
' 先頭にあるオブジェクトを削除し、返す
Wscript.echo myQueue.Dequeue
Wscript.echo myQueue.Dequeue
' 格納されている要素の数を取得
Wscript.echo myQueue.Count
' ある要素が存在するかどうかを判定
If myQueue.Contains("Charlie") Then
Wscript.echo "Charlie exists."
End If
' 要素を配列にコピー
Dim myArray
myArray = myQueue.ToArray
' すべてのオブジェクトを削除
myQueue.Clear
スタック(Stack)
スタック(Stack)とは後入れ先出しのリストのこと。VBSでは.NETのSystem.Collections.Stackを使うと簡単に作成できる。
' スタックを作成
Dim myStack
Set myStack = CreateObject("System.Collections.Stack")
' 先頭にオブジェクトを挿入
myStack.Push "Alice"
myStack.Push "Bob"
myStack.Push "Charlie"
' 先頭にあるオブジェクトを削除せずに返す
Wscript.echo myStack.Peek
' 先頭にあるオブジェクトを削除し、返す
Wscript.echo myStack.Pop
Wscript.echo myStack.Pop
' 格納されている要素の数を取得
Wscript.echo myStack.Count
' ある要素が存在するかどうかを判定
If myStack.Contains("Charlie") Then
Wscript.echo "Charlie exists."
End If
' 要素を配列にコピー
Dim myArray
myArray = myStack.ToArray
' すべてのオブジェクトを削除
myStack.Clear