IX. Стандартни библиотеки в wmlscript 1



страница1/3
Дата21.08.2018
Размер1.53 Mb.
  1   2   3

IX. Стандартни библиотеки в WMLScript
1. Стандартни библиотеки с WMLScript функции

WAP/WML 9



o съдържат тематично групирани функции, които разширяват възможностите на езика

o библиотеките са 6: Lang, Float, String, URL, WMLBrowser и Dialogs

o те следват аналогия с JavaScript методите, като

o плаващата аритметика е отделена в самостоятелна библиотека, тъй като не всички браузери я поддържат

o добавена е библиотека за специфичния интерфейс между WML и WMLScript код

o библиотеката Dialogs поддържа функционално потребителския интерфейс по аналогия с метода аlert() на JavaScript

o функциите се извикват по идентификатор на библиотеката и идентификатор на функцията – с разделител точка (а не диез) – за синтаксиса на библиотечинте функции вж. примерите от лекции 7. и 8.
2. Библиотека Lang; функции abort, exit, abs и characterSet

o тази библиотека съдържа функции, обслужващи интерфейса между WML и WMLScript

код – типови конверсии и проверки, управление на скрипт кода и т.н.

o функцията abort преустановява изпълнението на скрипт кода и връща управлението в точката на обръщение към WMLScript интерпретатора като присвоява на функцията стойността на параметъра й ако е низ – в противен случай invalid

o прилага се когато изпълнението на скрипт кода трябва да се преустанови при непоправима грешка

o резюме
синтаксис abort(value)


параметър typeof(value) = String
стойност на

функцията value или invalid ако value не е низ
примери Lang.abort("Script aborts with " + result); // Returns a string

Lang.abort(in_valid); // Returns invalid


o функцията exit преустановява изпълнението на скрипт кода и връща управлението в точката на обръщение към WMLScript интерпретатора като присвоява на функцията стойността на параметъра й от произволен тип

o прилага се когато изпълнението на скрипт кода трябва да се преустанови по алгоритмична логика, а не при непоправима грешка

o резюме
синтаксис exit(value)
параметър typeof(value) = Any

стойност на функцията value


примери Lang.exit("Script Ends with " + result); // Returns a string

Lang.exit(invalid); // Returns invalid


o функцията abs връща абсолютната стойност на числовия параметър, като запазва типа му (цял или с плаваща запетая) а нечисловите параметри конвертира до invalid
Стр. 1 от 25


WAP/WML 9

o резюме
синтаксис abs(value)


параметър typeof(value) = Number
стойност на

функцията |value| или invalid ако value не е число
var a = -6;

примери

var b = Lang.abs(a); // b = 6;

var c = -8.4;

var d = Lang.abs(c); // d = 8.4


o функцията charcterSet връща целочислената стойност на знакогенаратора съгласно MIBEnum списъка на знакогенератори (напр. на http://www.iana.org/assignments/character-sets)

o резюме
синтаксис characterSet()

стойност на функцията integer


пример a = characterSet(); //a = 1000 i.e. ISO-10646-UCS-2 aka Unicode

o пример:



"http://www.wapforum.org/DTD/wml_1.1.xml">





















The Lang.abort result: $(result1)
The Lang.abs result: $(result2)

The Lang.characterSet result: $(result3)


The Lang.exit result: $(result4)

WMLScript код във файла ex7-09_02.wmls:

extern function error(result) {

var errorCode = "ERROR";

var answ=Lang.abort(errorCode); WMLBrowser.setVar(result,answ);

WMLBrowser.refresh(); }

extern function absValue(result) {

var a = -10;

var b = 20;

var c = -0.5;

var d = 2.5;

var answer = "";

var e = Lang.abs(a); // e = 10

answer += e + ",";

e = Lang.abs(b); // e = 20

answer += e + ",";

e = Lang.abs(c); // e = 0.5

answer += e + ",";

Стр. 2 от 25


WAP/WML 9

e = Lang.abs(d); // e = 2.5

answer += e; WMLBrowser.setVar(result,answer); WMLBrowser.refresh();}

extern function charset(result) {

var chars = Lang.characterSet(); WMLBrowser.setVar(result,chars);

WMLBrowser.refresh(); }

extern function doExit(result) {

var exitCode = "Function execution ends.";

result = Lang.exit(exitCode);}
3. Библиотека Lang; функции float, isFloat, parseFloat, isInt и parseInt

o функцията float връща стойност true ако микробраузера поддържа стойности с плаваща запетая

o резюме
синтаксис float()

стойност на функцията Boolean


пример var a = Lang.float();
o функциите parseFloat и parseInt конвертират символен низ до числова стойност от съответения тип, като разборът започва от първия символ в низа и завършва при откриване на символ, който не може да се идентифицира като компонент на числов запис

o резюме
синтаксис parseInt(value); parseFloat(value)


параметър typeof(value) = String
стойност на

функцията Number или invalid
var a = Lang.parseInt("+9351"); // a = 9351

var b = Lang.parseInt(" 9351 x/y"); // b = invalid



примери

var c = Lang.parseInt("9351 x/y"); // c = 9351

var d = Lang.parseFloat("935.14"); // d = 935.14

var e = Lang.parseFloat("-85.17e2 Kg"); // e = -85.17e2

var f = Lang.parseFloat("4.2e"); // f = invalid

o функциите isFloat и isInt връщат стойност true ако параметърът им може да се конвертира до числова стойност от съответния тип с използване на функциите parseFloat и parseInt съответно

o резюме
синтаксис isFloat(value); isInt(value)
параметър typeof(value) = Any
стойност на

функцията Boolean или invalid
var a = Lang.isFloat("-935"); // a = true

var b = Lang.isFloat("-85.17e3"); // b = true



примери
var c = Lang.isFloat("pi"); // b = false var d = Lang.isFloat("@157"); // d = false

var e = Lang.isFloat(invalid); // e = invalid var f = Lang.isInt("-935"); // f = true


Стр. 3 от 25




WAP/WML 9

o пример:

var g = Lang.isInt("-85.17"); // g = true

var h = Lang.isInt("thousand "); // h = false var i = Lang.isInt("$157"); // i = false

var j = Lang.isInt(invalid); // j = invalid



"http://www.wapforum.org/DTD/wml_1.1.xml">

























The Lang.float result: $(result1)
The Lang.isFloat result: $(result2)
The Lang.isInt result: $(result3)

The Lang.parseFloat result: $(result4)


The Lang.parseInt result: $(result5)

WMLScript код във файла ex7-09_03.wmls:

extern function floats(result) {

var supportFloats = Lang.float(); // true or false WMLBrowser.setVar(result,supportFloats); WMLBrowser.refresh();}

extern function giveFloat(result) {

var string1 = "10.8";

var string2 = "100.99 levs";

var string3 = "$40.10";

var string4 = "40e-2 or something";

var answer;

var a = Lang.parseFloat(string1); // a = 10.8

answer += a;

a = Lang.parseFloat(string2); // a = 100.99

answer += ", " + a;

// Left uncommented, next couple of lines would have returned

// an invalid value:

// a = Lang.parseFloat(string3); // invalid!!!

// answer += ", " + a;

a = Lang.parseFloat(string4); // a = 0.4 answer += ", " + a; WMLBrowser.setVar(result,answer); WMLBrowser.refresh();}

extern function giveInt(result) {

var string1 = "10";

var string2 = "100 levs";

var string3 = "£40";

var answer;

var a = Lang.parseInt(string1); // a = 10

answer += a;

a = Lang.parseInt(string2); // a = 100

answer += ", " + a;

// Next lines have been commented out for a good reason:

// a = Lang.parseInt(string3); // invalid!

// answer += ", " + a;

a = Lang.parseInt("13.7"); // a = 13 answer += ", " + a; WMLBrowser.setVar(result,answer); WMLBrowser.refresh();}

Стр. 4 от 25


WAP/WML 9

extern function isItFloat(result) {

var answer = "";

var a = Lang.isFloat("2000"); // a = true

answer += a + ", ";

a = Lang.isFloat("09.10"); // a = true

answer += a + ", ";

a = Lang.isFloat("string"); // a = false

answer += a; WMLBrowser.setVar(result,answer); WMLBrowser.refresh();}

extern function isItInt(result) {

var a = Lang.isInt("2000"); // a = true var answer = a;

a = Lang.isInt("9.10"); // a = true,

// parseInt can be used with float 9.10

// It returns value 9, which is

// an integer. answer += ", " + a;

a = Lang.isInt("string"); // a = false answer += ", " + a; WMLBrowser.setVar(result,answer); WMLBrowser.refresh();}


4. Библиотека Lang; функции min, max, minInt, maxInt, random и seed

o функциите min и max връщат съответно по-малкото и по-голямото число от двата си параметъра, които могат да бъдат цели или плаващи; при равенство се връща стойността на първия параметър

o специално внимание изисква сравнението на отрицателни стойности

o резюме
синтаксис min(value1, value2); max(value1, value2)


параметри typeof(value1,2) = Number
стойност на

функцията Number или invalid
var a = Lang.min(40, 50.3); // a = 40 (integer)

примери

var b = Lang.min(40, 35.7); // b = 35.7 (floating) var c = Lang.max(40, 50.3); // c = 50.3 (floating) var d = Lang.max(40, 35.7); // d = 40 (integer)


o функциите minInt и maxInt връщат съответно най-малкото и най-голямото цяло число,

дефинирани за съответния микробраузер

o резюме
синтаксис minInt(); maxInt()

стойност на функцията Integer
примери var a = Lang.minInt(); // a = -2147483648

var a = Lang.maxInt(); // a = 2147483647


o функцията random връща неотрицателна цяла стойност, не по-голяма от зададения параметър и получена в резултат на псевдо-случайна генерация; ако е необходимо и възможно параметърът се конвертира до цяло число с вътрешно извикване на Float.int

o резюме
синтаксис random(value)

Стр. 5 от 25



WAP/WML 9

параметър typeof(value) = Number



стойност на функцията
Integer; 0 (value = 0); invalid (value < 0 | value not а

Number)



примери a = Lang.random(8.2); // a = 0..8

b = Lang.random("bsp"); // b = invalid


o функцията seed инициализира генератора на псевдо-случайни числа със зададения параметър и връща празен низ; ако е необходимо и възможно параметърът се конвертира до цяло число с вътрешно извикване на Float.int; отрицателен или нечислов параметър поражда резултат invalid като инициализацията на генератора остава неопределена

o резюме
синтаксис seed(value)


параметър typeof(value) = Number
стойност на

функцията Integer или invalid
a = Lang.seed(8.2); // a = ""

примери

o пример


b = Lang.seed("bsp"); // b = invalid (генераторът не е променен)



"http://www.wapforum.org/DTD/wml_1.1.xml">



















Lang.max result: $(result1)


Lang.min result: $(result2)
Lang.random result: $(result3)
Lang.seed result: $(result4)

WMLScript код във файла ex7-09_04.wmls:

extern function max_mum(result) {

var a = -10;

var b = 20;

var c = -0.5;

var d = 2.5;

var answer;

var e = Lang.max(a,b); // e = 20

answer = e;

e = Lang.max(c,d); // e = 2.5

answer += ", " + e;

e = Lang.max(c,e); // e = 2.5 answer += ", " + e; WMLBrowser.setVar(result, answer); WMLBrowser.refresh();}

Стр. 6 от 25




WAP/WML 9

extern function min_mum(result) {

var a = -10;

var b = 20;

var c = -0.5;

var d = 2.5;

var answer;

var e = Lang.min(a,b); // e = -10

answer = e;

e = Lang.min(c,d); // e = -0.5

answer += ", " + e;

e = Lang.min(d,e); // e = -0.5 answer += ", " + e; WMLBrowser.setVar(result, answer); WMLBrowser.refresh();}

extern function ran_dom(result) {

var rand1 = 10;

var rand2 = 1000;

var answer;

var x = Lang.random(5.1)*rand1; // x = 0, 10, 20, ..., 50

answer += x;

var y = Lang.random(rand2); // y = 0..1000 answer += ", " + y; WMLBrowser.setVar(result,answer); WMLBrowser.refresh();}

extern function c_it(result) { Lang.seed(200); // a = ""

var number = Lang.random(100); // number = 0..100 var answer = "Random seed: " + number; WMLBrowser.setVar(result,answer); WMLBrowser.refresh();}
5. Библиотека Float; функции ceil, floor, int, maxFloat и minFloat

o тази библиотека съдържа функции за обработка на стойности с плаваща запетая но някои от функциите имат и целочислени параметри

o функцията ceil връща най-малкото цяло число, не по-малко от нейния числов параметър

o резюме:

синтаксис ceil(value)
параметър typeof(value) = Number
стойност на

функцията Integer или invalid
var a = Float.ceil(9.13); // a = 10

примери

var b = Float.ceil(9); // b = 9

var c = Float.ceil(-9.53); // c = -9

var d = Float.ceil("bsp"); // d = invalid


o функцията floor връща най-голямото цяло число, не по-голямо от нейния числов параметър

o резюме:

синтаксис floor(value)


параметър typeof(value) = Number
стойност на

функцията Integer или invalid
var a = Float.floor(9.13); // a = 9

примери

var b = Float.floor(9); // b = 9

var c = Float.floor(-9.53); // c = -10
Стр. 7 от 25


WAP/WML 9

var d = Float.floor("bsp"); // d = invalid


o функцията int връща цялата част от нейния числов параметър

o резюме:

синтаксис int(value)
параметър typeof(value) = Number
стойност на

функцията Integer или invalid
var a = Float.int(9.13); // a = 9

примери

var b = Float.int(9); // b = 9

var c = Float.int(-9.53); // c = -9

var d = Float.int("bsp"); // d = invalid


o функциите maxFloat и minFloat връщат обхвата на числата с плаваща запетая

o резюме:

синтаксис maxFloat(), minFloat()

стойност на функцията Float
примери var a = Float.maxFloat(); // a = 3.40282347E+38

var a = Float.minFloat(); // a = 1.17549435E-38


o пример:

"http://www.wapforum.org/DTD/wml_1.1.xml">





















Float.ceil result: $(result1)
Float.floor result: $(result2)
Float.int result: $(result3)
Float.maxFloat is: $(hiRange)
Float.minFloat is: $(lowRange)

WMLScript код във файла ex7-09_05.wmls:

extern function ceilNumber(result) {

var number = Float.ceil(10); // number = 10

var answer = number;

number = Float.ceil(10.2); // number = 11

answer += ", " + number;

number = Float.ceil(10.8); // number = 11

answer += ", " + number;

number = Float.ceil(-5.8); // number = -5 answer += ", " + number; WMLBrowser.setVar(result,answer); WMLBrowser.refresh();}

extern function floorNumber(result) {

var number = Float.floor(10); // number = 10

var answer = number;

number = Float.floor(10.2); // number = 10

answer += ", " + number;

Стр. 8 от 25




WAP/WML 9

number = Float.floor(10.8); // number = 10

answer += ", " + number;

number = Float.floor(-5.8); // number = -6 answer += ", " + number; WMLBrowser.setVar(result,answer); WMLBrowser.refresh();}

extern function tryToInt(result) {

var number = Float.int(10); // number = 10

var answer = number;

number = Float.int(10.2); // number = 10

answer += ", " + number;

number = Float.int(10.8); // number = 10

answer += ", " + number;

number = Float.int(-5.8); // number = -5 answer += ", " + number; WMLBrowser.setVar(result,answer); WMLBrowser.refresh();}

extern function rangeFloat(varName1,varName2) { WMLBrowser.setVar(varName1,Float.minFloat()); WMLBrowser.setVar(varName2,Float.maxFloat()); WMLBrowser.refresh();}

extern function mFloat(varName1,varName2) { WMLBrowser.setVar(varName1,Float.minFloat()); WMLBrowser.setVar(varName2,Float.maxFloat()); WMLBrowser.refresh();}



6. Библиотека Float; функции pow, round и sqrt

o функцията pow степенува първия си числов параметър като показател е втория параметър (също число); резултата е с плаваща запетая

o отрицателните основи изискват цял показател – иначе функцията връща invalid o резюме:

синтаксис pow(value1, value2)


параметри typeof(value1, value2) = Number
стойност на

функцията Float или invalid
var a = Float.pow(4, 2); // a = 16.0

var b = Float.pow(-2, 3); // b = 8.0 (implementation dependent)



примери

var c = Float.pow(-2, -3); // c = invalid var d = Float.pow(-2, 3.14); // d = invalid var e = Float.pow("bsp"); // e = invalid


o функцията round връща цяло число с най-малка разлика от нейния числов параметър

o прилага се аритметично закръгляване – към по-голямото от две равноотдалечени цели

o резюме:

синтаксис round(value)
параметър typeof(value) = Number
стойност на

функцията Integer или invalid
примери var a = Float.round(9.5); // a = 10

var b = Float.round(-9.500001); // b = -10


o функцията sqrt връща квадратния корен на числовия параметър

o резюме:

Стр. 9 от 25



WAP/WML 9

синтаксис sqrt(value)


параметър typeof(value) = Number
стойност на

функцията Float или invalid
var a = Float.sqrt(4); // a = 2.0

примери

o пример:

var b = Float.sqrt(6.25); // b = 2.5

var c = Float.sqrt("-8"); // c = invalid





http://www.wapforum.org/DTD/wml_1.1.xml">














Float.pow result: $(result1)


Float.round result: $(result2)
Float.sqrt result: $(result3)
Your Number:


WMLScript код във файла ex7-09_06.wmls:

extern function powIt(result) {

var number1 = 4;

var number2 = 3;

var answer = Float.pow(number1,number2); // answer = 64

WMLBrowser.setVar(result,answer); WMLBrowser.refresh();}

extern function roundIt(result) {

var number = Float.round(4); // number = 4

var answer = number;

number = Float.round(4.3); // number = 4

answer += ", " + number;

number = Float.round(4.5); // number = 5

answer += ", " + number;

number = Float.round(-4.3); // number = -4

answer += ", " + number;

number = Float.round(-4.5); // number = -4 answer += ", " + number; WMLBrowser.setVar(result,answer); WMLBrowser.refresh();}

extern function sqrtIt(varName,number) {

var result;

if (number < 0) {

result = number; }

else {


result = Float.sqrt(number); } WMLBrowser.setVar(varName,result); WMLBrowser.refresh();

}

  1   2   3


База данных защищена авторским правом ©obuch.info 2016
отнасят до администрацията

    Начална страница