7. Библиотека String ; функции charAt, compare , elementAt , elements и find
o тази библиотека съдържа функции за обработка на символни низове
o WMLScript не поддържа масиви, но String. интерпретира низовете като едномерни символни масиви с първи индекс 0
o функцията charAt връща символ на определена позиция в дадения низ
Стр. 10 от 25
WAP/WML 9
o резюме:
синтаксис charAt(value1, value2)
параметри typeof(value1) = String, typeof(value2) = Integer
стойност на
функцията String или invalid
var a = String.charAt("bsp", 2); // a = "p"
примери
var b = String.charAt("bsp", 3); // b = ""
var c = String.charAt("bsp", "last"); // c = invalid
o функцията compare сравнява два низа по азбучен ред и връща -1 ако първият е «по-
малък», 0 ако съвпадат и 1 ако първият е «по-голям»
o резюме:
синтаксис charAt(value1, value2)
параметри typeof(value1, value2) = String
стойност на
функцията Integer или invalid
var a = String.compare("WML", "WML"); // a = 0
примери
var b = String.compare("WML", "wml"); // b = -1
var c = String.compare("Oops", " Oops"); // c = 1
o функцията elementAt разделя даден низ на поднизове като използва третия си параметър за разделител и връща подниза със зададения индекс (във втория параметър)
o при необходимост параметърът-индекс се конвертира от Float.int
o при валиден индекс извън обхвата на текущия брой поднизове се връща крайния подниз (респ. нулевия или последния)
o резюме:
синтаксис elementAt(string, index, separator)
параметри typeof(string, separator) = String, type of(index) = Integer
стойност на
функцията String или invalid
var a = String.еlementAt("WML is Nr.1",1," "); // a = “is”
var b = String.еlementAt("WML is Nr.1",-1," "); // b = “WML”
примери
var c = String.еlementAt("WML is Nr.1",10," "); // c = “Nr.1” var d = String.еlementAt("WML is Nr.1",1,""); // d = invalid var e = String.еlementAt("WML is Nr.1",0,"n"); // e = “”
var f = String.еlementAt("WML is Nr.1",0,"N"); // f = “WML is ”
o функцията elements разделя даден низ на поднизове като използва втория си параметър за разделител и връща броя на получените поднизове
o празния низ се брои като един подниз (елемент)
o при валиден индекс извън обхвата на текущия брой поднизове се връща крайния подниз (респ. нулевия или последния)
o резюме:
синтаксис elements(string, separator)
параметри typeof(string, separator) = String
Стр. 11 от 25
WAP/WML 9
стойност на
функцията Integer или invalid
var a = String.еlements("WML is Nr.1"," "); // a = 3
примери
var b = String.еlements("WML is Nr.1",”1”); // b = 2
var c = String.еlements("WML is Nr.1",""); // c = invalid var d = String.еlements("WML is Nr.1","@"); // d = 1
o функцията find връща индекса на първия символ в даден низ, който е начало на зададен подниз (във втория параметър)
o при отсъствие функцията връща -1
o при търсене за празен низ се връща invalid o резюме:
синтаксис find(string1, string2)
параметри typeof(string1, string2) = String
стойност на
функцията Integer или invalid
var a = String.find("WML is Nr.1"," "); // a = 3
примери
o пример:
var b = String.find("WML is Nr.1",”w”); // b = -1
var c = String.find("WML is Nr.1",""); // c = invalid var d = String.find("WML is Nr.1","W"); // d = 0
"http://www.wapforum.org/DTD/wml_1.1.xml">
String.chrAt:> $(result1)
String.elementAt:> $(result3)
String.compare:> $(result2)
String.elements:> $(result4)
String.find:> $(result5)
WMLScript код във файла ex7-09_07.wmls:
extern function whichChar(result) {
var Skakauec = "Pouicaj sas pistouet - nema se puashish, kopeue";
var answer = String.charAt(Skakauec,0); // result = "P"
answer += String.charAt(Skakauec,3); // result = "i"
answer += String.charAt(Skakauec,17); // result = "u"
answer += String.charAt(Skakauec,18); // result = "e"
answer += " sas "+String.charAt(Skakauec,8); // result = "s"
answer += String.charAt(Skakauec,18); // result = "e"
answer += String.charAt(Skakauec,17); // result = "u"
answer += String.charAt(Skakauec,18); // result = "e" WMLBrowser.setVar(result,answer);
WMLBrowser.refresh();}
extern function elements(result) {
var Skakauec = "Pouicaj sas pistouet - nema se puashish, kopeue";
var x = String.elements(Skakauec," "); // x = 7
Стр. 12 от 25
WAP/WML 9
x += ", " + String.elements(Skakauec,"-");
x += ", " + String.elements(Skakauec,",");
x += ", " + String.elements(Skakauec,"nema"); WMLBrowser.setVar(result,x); WMLBrowser.refresh();}
extern function elAt(result) {
var Skakauec = "Pouicaj sas pistouet - nema se puashish, kopeue";
var xe = String.elementAt(Skakauec,20," "); // x = "kopeue"
xe += ":*\n Hipodil sa noo jaki"; WMLBrowser.setVar(result,xe); WMLBrowser.refresh();}
extern function doCompare(result) {
var niz1 = "WAP"; var niz2 = "wap"; var niz3 = " wall";
var a = String.compare(niz1,niz2);
a += ", " + String.compare(niz2,niz3);
a += ", " + String.compare(niz3,niz1); WMLBrowser.setVar(result,a); WMLBrowser.refresh();}
extern function findIt(result) {
var Skakauec = "Pouicaj sas pistouet - nema se puashish, kopeue";
var a = String.find(Skakauec,"kopeue");
a += ", " + String.find(Skakauec," kop");
a += ", " + String.find(Skakauec,"Skakauec"); // a = -1
a += ", " + String.find(Skakauec,"a se");
a += ", " + String.find(Skakauec," - "); WMLBrowser.setVar(result,a); WMLBrowser.refresh();
}
8. Библиотека String; функции format, insertAt, removeAt, replaceAt, replace и isEmpty
o функцията format задава екранната интерпретация на даден елемент (обикновено числова променлива, посочена като втори параметър) в символен низ (първи параметър) съгласно даден шаблон, включен в този низ; тя се използва предимно за представяне на стойности с плаваща запетая в десетичен вместо в експоненциален вид
o шаблонът се прилага не върху целия низ, а върху част от него, която е означена с водещ %-символ
o шаблонния тип може да бъде d (за цели с десетично представяне), f (за десетично представяне на стойности с плаваща запетая) и s (за низове);
o позициите се записват с цифри между % и шаблонния тип по следните правила:
задава минималния брой десетични цифри на цели стойности, който при необходимост сеd
допълва с водещи нули; имплицитно 1
задава броя позиции след десетичната точка, като извършва аритметично приближение приf
необходимост; цялата част е с поне една позиция; имплицитно 6
s задава максималния брой символи, имплицитно всички
o резюме:
синтаксис format(Spec, value)
параметри typeof(Spec) = String, typeof(value) = Any
стойност на
функцията String или invalid
var a = String.format("result is: %4d", 32);
примери
// a = "result is: 32"
var b = String.format("%4.3d", 32); // b = " 032"
Стр. 13 от 25
WAP/WML 9
var c = String.format("Doc %s", "JavaScript");
// c = "Doc JavaScript"
var d = String.format("%3f", 12345.3456); // d = "12345.3456"
o функцията insertAt конкатенира два низа като включването на втория става от определена позиция в първия низ, като отброяването се извършва спрямо зададен разделител (напр. символ или низ)
o резюме:
синтаксис insertAt(string1, string2, position, separator)
параметри typeof(string1, string2, separator) = String, typeof(position)
= Integer
стойност на
функцията String или invalid
var a = String.insertAt("Doc JavaScript", "site", 2, " ");
// a = "Doc JavaScript site"
var b = String.insertAt("Doc JavaScript", "(JS)", 0, "J");
// b = "Doc (JS) JavaScript"
var c = String.insertAt("Doc JavaScript", "The", -5, " ");
// c = "The Doc JavaScript"
var d = String.insertAt("Doc JavaScript","& WMLScript",8, " ");
примери
// d = "Doc JavaScript & WMLScript"
var e = String.insertAt("Doc JavaScript", "skakauec", 1, "");
// e = invalid
var f = String.insertAt("Doc JavaScript", "zeue", "piue", " ");
// f = invalid
var g = String.insertAt("Doc JavaScript", "(JS)", 0, J);
// g = "Doc (JS) JavaScript"
var h = String.insertAt("Doc JavaScript", "zeue", 0, "j");
// h = "Doc JavaScript"
o функцията removeAt изключва подниз от даден низ от определена позиция;
отброяването се извършва спрямо зададен разделител (напр. символ или низ)
o резюме:
синтаксис removeAt(string, position, separator)
параметри typeof(string1, separator) = String, typeof(position) = Integer
стойност на
функцията String или invalid
var a = String.removeAt("Doc Java Script", 1, " ");
// a = "Doc Script"
var b = String.removeAt("Doc JavaScript", 0, "J");
примери
// b = "avaScript"
var c = String.removeAt("Doc JavaScript", -5, " ");
// c = "JavaScript"
var d = String.removeAt("Doc JavaScript", 12, " ");
// d = "Doc JavaScript "
o функцията replaceAt заменя подниз в даден низ като изключването на втория става от определена позиция в първия низ, отброяването се извършва спрямо зададен разделител (напр. символ или низ)
o резюме:
синтаксис replaceAt(string1, string2, position, separator)
параметри typeof(string1, string2, separator) = String, typeof(position)
= Integer
Стр. 14 от 25
WAP/WML 9
стойност на
функцията String или invalid
var a = String.replaceAt("Doc JavaScript", "site", 1, " ");
// a = "Doc site"
примери
var b = String.replaceAt("Doc JavaScript", "The Doc", 0, "J");
// b = "The Doc JavaScript"
var c = String.replaceAt("Doc JavaScript", "The Doc", -5, " ");
// c = "The Doc JavaScript"
o функцията replace заменя подниз в даден низ с трети низ
o резюме:
синтаксис replaceAt(string1, string2, string3)
параметри typeof(string1, string2, string3) = String
стойност на
функцията String или invalid
var a = String.replaceAt("Piue", "Pi", "Ze"); // a = "Zeue"
примери
var b = String.replaceAt("Piue", "", "Ze"); // b = invalid var c = String.replaceAt("Piue", "pi", "Ze"); // c = "Piue"
o функцията isEmpty връща true когато нейния параметър е низ с нулева дължина
o резюме:
синтаксис isEmpty(string)
параметър typeof(string) = String
стойност на
функцията Boolean или invalid
примери var a = String.isEmpty(" "); // a = false var b = String.isEmpty(""); // b = true
9. Библиотека String ; функции length , squeeze , trim , substring и toString
o функцията length връща дължината на символен низ в брой символи, като при небходимост извършва типова конверсия
o резюме:
синтаксис length(string)
параметър typeof(string) = String
стойност на
функцията String или invalid
var a = String.length("lion"); // a = 4
примери
var b = String.length(""); // b = 0
var c = String.length(17.08); // c = 5
o функцията squeeze премахва многократните шпации в зададен низ и ги замества с единични; шпациите в началото и в края на низа не се манипулират (вж. trim)
o резюме:
синтаксис squeeze(string)
параметър typeof(string) = String
стойност на String или invalid
Стр. 15 от 25
WAP/WML 9
функцията
пример var a = String.squeeze("Doc JavaScript\r\n");
// a = "Doc JavaScript "
o функцията trim премахва шпациите в началото и в края на зададения низ
o резюме:
синтаксис trim(string)
параметър typeof(string) = String
стойност на
функцията String или invalid
пример var a = String.trim("Doc JavaScript\r\n");
// a = "Doc JavaScript"
o функцията substring връща подниз в даден низ, който започва от символа, чийто индекс е зададен като втори параметър, а дължината му е равна на третия параметър
(респ. до края на низа)
o отрицателен индекс се интерпретира като 0
o резултатът е празен низ когато индекса е по-голям от дължината на низа-
параметър или когато параметъра за дължина не е по-голям от 0
o при необходимаст се прилага конверсия с Float.int o резюме:
синтаксис subString(string, index, length)
параметри typeof(string) = String, typeof(index, length) = Integer
стойност на
функцията String или invalid
var a = String.subString("skakauec", 1, 4); // a = "kaka"
var c = String.subString("skakauec", -3, 4); // c = "skak"
примери
var d = String.subString("skakauec", 5, 9); // d = "uec" var e = String.subString("skakauec", 9, 4); // e = "" var f = String.subString("skakauec", 2, -6); // f = ""
var g = String.subString("skakauec", "two", 4); // g = invalid
o функцията toString извършва конверсия на произволна стойност към низ
o резюме:
синтаксис squeeze(string)
параметър typeof(string) = String
стойност на
функцията String или invalid
var a = String.toString(17.08); // a = "17.08"
примери
var b = String.toString(true); // b = "true"
var c = String.toString(invalid); // c = "invalid"
10. Библиотека URL; функции escapeString , unescapeString и loadString
o тази библиотека съдържа функции, с които се проверява съдържанието, валидността и параметрите на отонсителен или абсолютен URL адрес
Стр. 16 от 25
WAP/WML 9
o функцията escapeString прекодира зададен низ към URL формат, така че управляващите символи в него се кодират в шестнадесетичен код (т.е. %hh), подходящ за предаване към CGI програми и Java сървлети (с използване на методите GET и POST)
o резюме:
синтаксис escapeString(url)
параметър typeof(url) = String
стойност на
функцията String или invalid
var a = URL.escapeString("http://courses.fmi.uni-
пример
sofia.bg/WAP_WML/ex.html");
// a = "http%3a%2f%2fcourses.fmi.uni- sofia.bg%2fWAP_WML%2fex.html"
o функцията unescapeString прекодира зададен низ от URL формат, така че шестнайсетично кодираните управляващи символи со представени в обичаен вид
o резюме:
синтаксис unescapeString(url)
параметър typeof(url) = String
стойност на
функцията String или invalid
var a = URL.escapeString("http%3a%2f%2fcourses.fmi.uni-
пример
sofia.bg%2fWAP_WML%2fex.html");
// a = "http://courses.fmi.uni-sofia.bg/WAP_WML/ex.html"
o функцията loadString връща съдържанието на посочения като първи параметър URL адрес; типът на зареждания документ трябва да е текстов и се специфицира като втори параметър на функцията във формат “text/”
o документът трябва да е от текстов тип, съответстващ на спецификатора;
впротивен случай (както и при невалиден URL адрес) резултатът е invalid o резюме:
синтаксис loadString(url, contentType)
параметри typeof(url, contentType) = String
стойност на
функцията String или invalid
var a = String.replaceAt("Piue", "Pi", "Ze"); // a = "Zeue"
примери
o пример:
var b = String.replaceAt("Piue", "", "Ze"); // b = invalid var c = String.replaceAt("Piue", "pi", "Ze"); // c = "Piue"
"http://www.wapforum.org/DTD/wml_1.1.xml">
URL.escapeString: $(result1)
Стр. 17 от 25
WAP/WML 9
URL.unescapeString: $(result2)
URL.loadString: $(result3)
WMLScript код във файла ex7-09_10.wmls:
extern function codeIt(result) {
var a = URL.escapeString("test.pl?length=123");
// a = "test.pl%3flength%3d123" WMLBrowser.setVar(result,a); WMLBrowser.refresh();}
extern function decodeIt(result) {
var a = URL.unescapeString("test.pl%3flength%3d123");
// a = "test.pl?length=123" WMLBrowser.setVar(result,a); WMLBrowser.refresh();}
extern function loadIt(result) {
var a = URL.loadString("http://www.ietf.org/iesg/1rfc_index.txt","text/plain");
// Variable a now includes the whole/part_of 1rfc_index.txt. WMLBrowser.setVar(result,a);
WMLBrowser.refresh();
}
11. Библиотека URL; функции resolve, getFragment, getHost, getPath, getParameters,
getPort, getQuery, и getScheme
o функцията resolve връща пълен URL адрес от зададените сърверен адрес и локален адрес; обикновено се използва в комбинация с други функции от URL
o резюме:
синтаксис resolve(url1, url2)
параметри typeof(url1, url2) = String
стойност на
функцията String или invalid
var a = URL.getPath(“http://courses.fmi.uni-sofia.bg”,
пример
“/WAP_WML/ex7-09_07.wmls");
// a = "http://courses.fmi.uni-sofia.bg/WAP_WML/ex7-
09_07.wmls");
o функцията getFragment връща фрагмент (предхождан от #) от зададен URL адрес; обикновено това е функция от съответнаия WMLScript компилационене модул – когато не е специфициран фрагмент, резултатът е празен низ
o резюме:
синтаксис getFragment(url)
параметър typeof(url) = String
стойност на
функцията String или invalid
пример var a = URL.getFragment("http://courses.fmi.uni- sofia.bg/WAP_WML/ex7-09_07.wmls#elements"); // a = "elements"
o функцията getHost връща сърверната част от зададен URL адрес; когато адресът е относителен и не съдържа сърверна част, резултатът е празен низ
o резюме:
синтаксис getHost(url)
параметър typeof(url) = String
Стр. 18 от 25
WAP/WML 9
стойност на
функцията String или invalid
var a = URL.getHost("http://courses.fmi.uni-
примери
sofia.bg/WAP_WML/ex7-09_07.wmls");
// a = "courses.fmi.uni-sofia.bg"
var b = URL.getHost("/WAP_WML/ex7-09_07.wmls"); // b = ""
o функцията getPath връща локалната част от зададен URL адрес; когато адресът не съдържа локална част, резултатът е празен низ
o резюме:
синтаксис getPath(url)
параметър typeof(url) = String
стойност на
функцията String или invalid
var a = URL.getPath("http://courses.fmi.uni-
примери
sofia.bg/WAP_WML/ex7-09_07.wmls#elements");
// a = "/WAP_WML/ex7-09_07.wmls"
o функцията getParameters връща параметрите от зададен URL адрес с параметри (които са част от адреса при обръщание към CGI програма с използване на метода GET и се отделят с ;); при отсъствие на параметри, резултатът е празен низ
o резюме:
синтаксис getParameters(url)
параметър typeof(url) = String
стойност на
функцията String или invalid
пример var a = URL.getParameters("cgi-bin/WAP/tel.pl;3;2?x=1&y=3");
// a = "3;2"
o функцията getPort връща локалния порт на сървера от зададен URL адрес (когато е зададен, порта се отделят с : и обикновено е 8080 или 80); при отсъствие на порт, резултатът е празен низ
o резюме:
синтаксис getPort(url)
параметър typeof(url) = String
стойност на
функцията String или invalid
var a = URL.getPort("http://courses.fmi.uni-
пример
sofia.bg:80/WAP_WML/ex.htm");
// a = "80"
o функцията getQuery връща локалния порт на сървера от зададен URL адрес (когато е зададен, порта се отделят с : и обикновено е 8080 или 80); при отсъствие на порт, резултатът е празен низ
o резюме:
Стр. 19 от 25
Сподели с приятели: |