VBS 腳本中的字典、動(dòng)態(tài)數(shù)組、隊(duì)列和堆棧實(shí)現(xiàn)代碼
1.編寫環(huán)境
今天突發(fā)奇想下載了個(gè)gVim來(lái)寫VBS腳本,我用的版本是7.4的
在寫腳本前,需要在gVim的安裝根目錄下,找到文件“_vimrc”,在里面添加下面三行:
set number
set softtabstop=4
set tabstop=4
意思分別是“顯示行號(hào)”、“按退格鍵一次刪掉4個(gè)空格”和“設(shè)定Tab長(zhǎng)度為4個(gè)字符”
這個(gè)設(shè)置類似于Linux系統(tǒng)下文件“.vimrc”的配置
1.字典:Scripting.Dictionary
VBS中的字典需要使用Scripting.Dictionary
腳本文件:a.vbs,包含字典的添加、刪除、判斷鍵是否存在、修改鍵、修改值、遍歷、統(tǒng)計(jì)鍵值對(duì)個(gè)數(shù)
Option Explicit '建立字典 Dim Dict : Set Dict = CreateObject("Scripting.Dictionary") '添加鍵值對(duì) Dict.Add "Key1", "Item1" Dict.Add "Key2", "Item2" Dict.Add "Key3", "Item3" '字典中鍵值對(duì)數(shù)量 WScript.Echo "字典中現(xiàn)有鍵值對(duì)數(shù)量: " & Dict.Count WScript.Echo '檢查指定鍵是否存在 If Dict.Exists("Key1") Then WScript.Echo "Key1 存在!" Else WScript.Echo "Key1 不存在!" End If If Dict.Exists("Keyn") Then WScript.Echo "Keyn 存在!" Else WScript.Echo "Keyn 不存在!" End If WScript.Echo '遍歷字典 Sub TraverseDict Dim DictKeys, DictItems, Counter DictKeys = Dict.Keys DictItems = Dict.Items For Counter = 0 To Dict.Count - 1 WScript.Echo _ "鍵: " & DictKeys(Counter) & _ "值: " & DictItems(Counter) Next End Sub TraverseDict WScript.Echo '在一個(gè)鍵值對(duì)中,修改鍵或修改值 Dict.Key("Key2") = "Keyx" Dict.Item("Key1") = "Itemx" TraverseDict WScript.Echo '刪除指定鍵 Dict.Remove("Key3") TraverseDict WScript.Echo '刪除全部鍵 Dict.RemoveAll WScript.Echo "字典中現(xiàn)有鍵值對(duì)數(shù)量: " & Dict.Count
調(diào)用方法:通過(guò)雙擊a.bat調(diào)用,a.bat代碼如下:
cscript a.vbs
pause
運(yùn)行結(jié)果截圖:
2.動(dòng)態(tài)數(shù)組:System.Collections.ArrayList
VBS中的動(dòng)態(tài)數(shù)組需要使用System.Collections.ArrayList
腳本文件:b.vbs,包含動(dòng)態(tài)數(shù)組的添加元素、刪除元素、遍歷、統(tǒng)計(jì)元素個(gè)數(shù)、清空
Option Explicit '建立動(dòng)態(tài)數(shù)組 Dim Arrl : Set Arrl = CreateObject("System.Collections.ArrayList") '添加元素 Arrl.Add "Element3" Arrl.Add "Element2" Arrl.Add "Element1" '查看動(dòng)態(tài)數(shù)組中的元素?cái)?shù) WScript.Echo "動(dòng)態(tài)數(shù)組中現(xiàn)有元素?cái)?shù)量: " & Arrl.Count WScript.Echo "動(dòng)態(tài)數(shù)組容量: " & Arrl.Capacity WScript.Echo '遍歷動(dòng)態(tài)數(shù)組 Sub TraverseArrl Dim Counter For Counter = 0 To Arrl.Count - 1 WScript.Echo Arrl(Counter) Next End Sub TraverseArrl WScript.Echo '動(dòng)態(tài)數(shù)組排序 Arrl.Sort TraverseArrl WScript.Echo '刪除指定元素 Arrl.Remove("Element1") TraverseArrl WScript.Echo '清空全部元素 Arrl.Clear WScript.Echo "動(dòng)態(tài)數(shù)組中現(xiàn)有元素?cái)?shù)量: " & Arrl.Count WScript.Echo "動(dòng)態(tài)數(shù)組容量: " & Arrl.Capacity
調(diào)用方法:通過(guò)雙擊b.bat調(diào)用,b.bat代碼如下:
cscript b.vbs
pause
運(yùn)行結(jié)果截圖:
3.隊(duì)列:System.Collections.Queue
VBS中的隊(duì)列需要使用System.Collections.Queue
腳本文件:c.vbs,包含隊(duì)列的添加元素(入隊(duì))、刪除元素(出隊(duì))、遍歷、統(tǒng)計(jì)元素個(gè)數(shù)、清空
Option Explicit '建立隊(duì)列 Dim Que : Set Que = CreateObject("System.Collections.Queue") Que.EnQueue("Element1") Que.EnQueue("Element2") Que.EnQueue("Element3") '查看隊(duì)列中的元素?cái)?shù) WScript.Echo "隊(duì)列中的元素?cái)?shù): " & Que.Count WScript.Echo '遍歷隊(duì)列 Sub TraverseQue Dim ArrQue : ArrQue = Que.ToArray Dim Counter For Counter = 0 To UBound(ArrQue) WScript.Echo ArrQue(Counter) Next End Sub TraverseQue WScript.Echo '退出隊(duì)列 WScript.Echo Que.DeQueue WScript.Echo "---" TraverseQue WScript.Echo '清空隊(duì)列 Que.Clear WScript.Echo "隊(duì)列中的元素?cái)?shù): " & Que.Count
調(diào)用方法:通過(guò)雙擊c.bat調(diào)用,c.bat代碼如下:
cscript c.vbs
pause
運(yùn)行結(jié)果截圖:
4.堆棧:System.Collections.Stack
VBS中的堆棧需要使用System.Collections.Stack
腳本文件:d.vbs,包含堆棧的添加元素(壓棧)、刪除元素(出棧)、遍歷、統(tǒng)計(jì)元素個(gè)數(shù)、清空
Option Explicit '建立堆棧 Dim Stk : Set Stk = CreateObject("System.Collections.Stack") Stk.Push "Element1" Stk.Push "Element2" Stk.Push "Element3" '查看堆棧中的元素?cái)?shù) WScript.Echo "堆棧中的元素?cái)?shù): " & Stk.Count WScript.Echo '遍歷堆棧 Sub TraverseStk Dim ArrStk : ArrStk = Stk.ToArray Dim Counter For Counter = 0 To UBound(ArrStk) WScript.Echo ArrStk(Counter) Next End Sub TraverseStk WScript.Echo '元素出棧 WScript.Echo Stk.Pop WScript.Echo "---" TraverseStk WScript.Echo '清空堆棧 Stk.Clear WScript.Echo "堆棧中的元素?cái)?shù): " & Stk.Count
調(diào)用方法:通過(guò)雙擊d.bat調(diào)用,d.bat代碼如下:
cscript d.vbs
pause
運(yùn)行結(jié)果截圖:
可以看出,遍歷隊(duì)列和堆棧時(shí),遍歷順序時(shí)由出隊(duì)和出棧的順序決定的,而不是入隊(duì)和壓棧的順序
上一篇:在vbscript中判斷COM類是否存在的實(shí)現(xiàn)代碼
欄 目:vb
本文標(biāo)題:VBS 腳本中的字典、動(dòng)態(tài)數(shù)組、隊(duì)列和堆棧實(shí)現(xiàn)代碼
本文地址:http://mengdiqiu.com.cn/a1/vb/7128.html
您可能感興趣的文章
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10VBS中的正則表達(dá)式的用法大全 <font color=red>原創(chuàng)&
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10VBScript教程 第十一課深入VBScript
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript語(yǔ)法速查及實(shí)例說(shuō)明
- 01-10VBS中Select CASE的其它用法
- 01-10VBScript教程 第七課使用條件語(yǔ)句
- 01-10vbscript 可以按引用傳遞參數(shù)嗎?
- 01-10VBScript教程 第二課在HTML頁(yè)面中添加VBscript代碼


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10飄葉千夫指源代碼,又稱qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個(gè)高效的軟件
- 01-10VBS中的正則表達(dá)式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語(yǔ)法速查及實(shí)例說(shuō)明
隨機(jī)閱讀
- 01-10C#中split用法實(shí)例總結(jié)
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 04-02jquery與jsp,用jquery
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10delphi制作wav文件的方法
- 01-11Mac OSX 打開(kāi)原生自帶讀寫NTFS功能(圖文