עבודה עם מערכים ב-VBS

‏ • 20 ביולי, 2002



מאמר זה מסביר ומדגים את העבודה עם מערכים ב-VBS. המאמר מיועד לאלו מבינכם שרק מתחילים לעבוד עם
השפה.

Split

ניתן "לחלק" מחרוזת למספר חלקים וליצור מערך, אשר בכל תא יחזיק חלק אחד מהמחרוזת, באמצעות הפונקציה Split. לדוגמא:


1
2
3
4  

<%
myString = "This is a test and only a test"
myArray = Split(myString)
%>

עכשיו יש לנו מערך בשם myArray , המכיל את האיברים הבאים, לפי הסדר:


1
2
3
4
5
6
7
8
9
10  

<%
myArray(0) ' This
myArray(1) ' is
myArray(2) ' a
myArray(3) ' test
myArray(4) ' and
myArray(5) ' only
myArray(6) ' a
myArray(7) ' test
%>

כברירת מחדל, הפונקציה Split() מפרידה את המחרוזת לפי הרווחים. פרמטר אופציונאלי של הפונקציה, הוא התו לפי תחולק המחרוזת. אם הפרמטר לא מצויין, התו המפריד יהיה רווח.


1
2
3
4  

<%
myString = "No matter where you go, there you are"
myArray = Split(myString, ",")
%>

הפעם, המחרוזת תופרד לשני חלקים, לפי הפסיק:


1
2
3
4  

<%
myArray(0) ' No matter where you go
myArray(1) ' there you are
%>

הפרמטר השלישי של הפונקציה, גם הוא אופציונאלי, מאפשר לנו לקבוע כמה איברים יוחזרו מהפונקציה:


1
2
3
4  

<%
myString = "All, some, none"
myArray = Split(myString, "," , 2)
%>

מכיוון שקבענו שרק שני איברים יוחזרו מהפונקציה, המערך שלנו יראה עכשיו כך:


1
2
3
4
5  

<%
myArray(0) ' All
myArray(1) ' some
%>
 

"none" לא הוחזר, כי הגדרנו שבמערך יהיו רק שני איברים.

UBound

אם נרצה לעבור על כל איברי המערך, נוכל לעשות זאת באמצעות ללואת For. נשתמש בפונקציה UBound() כדי לעצור את הלולאה כשנגיע לתא האחרון שלה:


1
2
3
4
5  

<%
For i = 0 To UBound(myArray)
    Response.Write myArray(i) & "<br>"
Next
%>

באמצעות לולאה נוכל גם לשנות את הערכים באיברי המערך:


1
2
3
4
5  

<%
For i = 0 To UBound(myArray)
    If myArray(i) = "a" Then myArray(i) = "one"
Next
%>

Join

חדי לחבר את המערך שוב למחרוזת, נוכל להתמש בפונקציה Join , שמקבלת מערך, ומחברת את כל האיברים שלו למחרוזת אחת:


1
2
3
4  

<%
newString = Join(myArray)
' newString = "This is one test and only one test"
%>

יש לזכור שהחלפנו את המילה "a" ב- "one"…

Filter

ניתן גם "לסנן" מערכים, בעזרת הפונקציה filter(). הפונקציה מקבלת מערך ומחרוזת, ומסננת את כל האיברים במערך אשר אינם מכילים את המחרוזת:


1
2
3
4
5  

<%
myString = "Hakeem is the Dream if you are a Rockets fan"
myArray = Split(myString)
myArray = Filter(myArray, "f")
%>

יש רק שני איברים במערך המכילים את האות "f", ולכן המערך שלנו יהיה עכשיו בן 2 איברים בלבד:


1
2
3
4  

<%
myArray(0) ' if
myArray(1) ' fan
%>

ניתן לסנן את המערך גם בכיין ההפוך, כלומר, לסננן ממנו את כל האיברים אשר כן מכילים את הערך. זאת נעשה ע"י קביעת הפרמטת האוציונאלי של הפונקציה, ל-false:


1
2
3  

<%
myArray = Filter(myArray, "f", False)
%>

והתוצאה תהיה:


1
2
3
4
5
6
7
8
9
10  

<%
myArray(0) ' Hakeem
myArray(1) ' is
myArray(2) ' the
myArray(3) ' Dream
myArray(4) ' you
myArray(5) ' are
myArray(6) ' a
myArray(7) ' Rockets
%>

בהצלחה!

תגיות: , , ,

תגובות בפייסבוק