国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

VBS 腳本中的字典、動態(tài)數(shù)組、隊列和堆棧實現(xiàn)代碼

2020-07-26 11:44:34
字體:
來源:轉載
供稿:網友

1.編寫環(huán)境

今天突發(fā)奇想下載了個gVim來寫VBS腳本,我用的版本是7.4的

在寫腳本前,需要在gVim的安裝根目錄下,找到文件“_vimrc”,在里面添加下面三行:

set number
set softtabstop=4
set tabstop=4

意思分別是“顯示行號”、“按退格鍵一次刪掉4個空格”和“設定Tab長度為4個字符”

這個設置類似于Linux系統(tǒng)下文件“.vimrc”的配置

1.字典:Scripting.Dictionary

VBS中的字典需要使用Scripting.Dictionary

腳本文件:a.vbs,包含字典的添加、刪除、判斷鍵是否存在、修改鍵、修改值、遍歷、統(tǒng)計鍵值對個數(shù)

Option Explicit'建立字典Dim Dict : Set Dict = CreateObject("Scripting.Dictionary")'添加鍵值對Dict.Add "Key1", "Item1"Dict.Add "Key2", "Item2"Dict.Add "Key3", "Item3"'字典中鍵值對數(shù)量WScript.Echo "字典中現(xiàn)有鍵值對數(shù)量: " & Dict.CountWScript.Echo '檢查指定鍵是否存在If Dict.Exists("Key1") Then  WScript.Echo "Key1 存在!"Else  WScript.Echo "Key1 不存在!"End IfIf Dict.Exists("Keyn") Then  WScript.Echo "Keyn 存在!"Else  WScript.Echo "Keyn 不存在!"End IfWScript.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)  NextEnd SubTraverseDictWScript.Echo '在一個鍵值對中,修改鍵或修改值Dict.Key("Key2") = "Keyx"Dict.Item("Key1") = "Itemx"TraverseDictWScript.Echo '刪除指定鍵Dict.Remove("Key3")TraverseDictWScript.Echo '刪除全部鍵Dict.RemoveAllWScript.Echo "字典中現(xiàn)有鍵值對數(shù)量: " & Dict.Count

調用方法:通過雙擊a.bat調用,a.bat代碼如下:

cscript a.vbs
pause

運行結果截圖:

2.動態(tài)數(shù)組:System.Collections.ArrayList

VBS中的動態(tài)數(shù)組需要使用System.Collections.ArrayList

腳本文件:b.vbs,包含動態(tài)數(shù)組的添加元素、刪除元素、遍歷、統(tǒng)計元素個數(shù)、清空

Option Explicit'建立動態(tài)數(shù)組Dim Arrl : Set Arrl = CreateObject("System.Collections.ArrayList")'添加元素Arrl.Add "Element3"Arrl.Add "Element2"Arrl.Add "Element1"'查看動態(tài)數(shù)組中的元素數(shù)WScript.Echo "動態(tài)數(shù)組中現(xiàn)有元素數(shù)量: " & Arrl.CountWScript.Echo "動態(tài)數(shù)組容量: " & Arrl.CapacityWScript.Echo'遍歷動態(tài)數(shù)組Sub TraverseArrl  Dim Counter  For Counter = 0 To Arrl.Count - 1    WScript.Echo Arrl(Counter)  NextEnd SubTraverseArrlWScript.Echo'動態(tài)數(shù)組排序Arrl.SortTraverseArrlWScript.Echo'刪除指定元素Arrl.Remove("Element1")TraverseArrlWScript.Echo'清空全部元素Arrl.ClearWScript.Echo "動態(tài)數(shù)組中現(xiàn)有元素數(shù)量: " & Arrl.CountWScript.Echo "動態(tài)數(shù)組容量: " & Arrl.Capacity

調用方法:通過雙擊b.bat調用,b.bat代碼如下:

cscript b.vbs
pause

運行結果截圖:

 

3.隊列:System.Collections.Queue

VBS中的隊列需要使用System.Collections.Queue

腳本文件:c.vbs,包含隊列的添加元素(入隊)、刪除元素(出隊)、遍歷、統(tǒng)計元素個數(shù)、清空

Option Explicit'建立隊列Dim Que : Set Que = CreateObject("System.Collections.Queue")Que.EnQueue("Element1")Que.EnQueue("Element2")Que.EnQueue("Element3")'查看隊列中的元素數(shù)WScript.Echo "隊列中的元素數(shù): " & Que.CountWScript.Echo'遍歷隊列Sub TraverseQue  Dim ArrQue : ArrQue = Que.ToArray  Dim Counter  For Counter = 0 To UBound(ArrQue)    WScript.Echo ArrQue(Counter)  NextEnd SubTraverseQueWScript.Echo'退出隊列WScript.Echo Que.DeQueueWScript.Echo "---"TraverseQueWScript.Echo'清空隊列Que.ClearWScript.Echo "隊列中的元素數(shù): " & Que.Count

調用方法:通過雙擊c.bat調用,c.bat代碼如下:

cscript c.vbs
pause

運行結果截圖:

4.堆棧:System.Collections.Stack

VBS中的堆棧需要使用System.Collections.Stack

腳本文件:d.vbs,包含堆棧的添加元素(壓棧)、刪除元素(出棧)、遍歷、統(tǒng)計元素個數(shù)、清空 

Option Explicit'建立堆棧Dim Stk : Set Stk = CreateObject("System.Collections.Stack")Stk.Push "Element1"Stk.Push "Element2"Stk.Push "Element3"'查看堆棧中的元素數(shù)WScript.Echo "堆棧中的元素數(shù): " & Stk.CountWScript.Echo'遍歷堆棧Sub TraverseStk  Dim ArrStk : ArrStk = Stk.ToArray  Dim Counter  For Counter = 0 To UBound(ArrStk)    WScript.Echo ArrStk(Counter)  NextEnd SubTraverseStkWScript.Echo'元素出棧WScript.Echo Stk.PopWScript.Echo "---"TraverseStkWScript.Echo'清空堆棧Stk.ClearWScript.Echo "堆棧中的元素數(shù): " & Stk.Count

 調用方法:通過雙擊d.bat調用,d.bat代碼如下:

cscript d.vbs
pause

運行結果截圖:

可以看出,遍歷隊列和堆棧時,遍歷順序時由出隊和出棧的順序決定的,而不是入隊和壓棧的順序

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 秦皇岛市| 上林县| 安乡县| 五大连池市| 沧源| 嵊泗县| 长葛市| 桂东县| 绥江县| 布拖县| 阿勒泰市| 淄博市| 饶河县| 克什克腾旗| 子长县| 福海县| 全南县| 大埔县| 抚州市| 高密市| 南乐县| 扶风县| 清涧县| 富锦市| 昌乐县| 乐昌市| 佛坪县| 会泽县| 临夏县| 贵南县| 津南区| 桦川县| 新化县| 旺苍县| 通城县| 股票| 千阳县| 石渠县| 游戏| 石柱| 葫芦岛市|