|
WMLScript Standard Libraries |
|---|
| ☉ |
Typographical conventions |
|---|
library描述如下:
| Name | Library的名稱.library names are case-sensitive.Examples: Lang, String |
| Description | 關於library的簡單描述以及使用慣例. |
library中的function描述如下:
| Function | 指明function的名稱以及使用參數.function names are
case-sensitive. Example: abs(value) Usage: var a = 3*Lang.abs(length); |
| Description | 描述function的行為以及使用參數. |
| Parameters | 描述function的參數型態.Example: value=Number |
| Return value | 指明return value的型態.Example: String or invalid. |
| Exceptions | 描述可能的例外,錯誤碼和相對應的傳回值.對所有functions均有的標準錯誤在此不加描述. Example: If the value1 <= 0 and the value2 < 0 and not aninteger then invalid is returned. |
| Example | 舉出一些常用的例子. var a = -3; var b = Lang.abs(a); // b = 3 |
| ☉ |
WMLScript compliance |
|---|
這些標準的library functions為WMLScript language提供了一個結構.因此所有的library functions必須依據WMLScript的協定與規則.
|
Supported data types |
|---|
下面的WML Script型態用在指明 function
parameters 和 return values的型態:
Boolean
Integer
Float
String
Invalid
除了這些以外, number 可以用在參數型態上,當value型態可以接受Integer和Float兩種型態時.Any
可以用在支援所有的型態上.
|
Data type conversions |
|---|
既然WML Script是weakly typed language,則必要時資料型態之間可自動轉換.library functions 依據WMLScript 運算子的資料型態轉換規則,除非有另外指定.
|
Error handling |
|---|
在WMLScript language中錯誤處理採相同的方式:
不正確的function argument產生不正確的return value是無效的,除非另外有指定.function
argument無法轉換成所需的參數型態也是無效的.Function-dependent的錯誤處理是用returning一個suitable
error code在每個function definition中.
| ☉ |
Lang library |
|---|
| Name | Lang |
| Description | 這個library包含了一堆關於 WMLScript language core的function. |
|
abs |
|---|
| Function | abs(value) |
| Description | 傳回所給數字的絕對值.如果給的是integer則傳回integer value.如果給的是floating-point則傳回floating-point value. |
| Parameters | value=Number |
| Return value | Number or invalid. |
| Exceptions | – |
| Example | var a = -3; var b = Lang.abs(a); // b = 3 |
|
min |
|---|
| Function | min(value1, value2) |
| Description | 傳回所給兩數的最小值.傳回的值和型態如同所選的數字.規則如下所述: 1 WMLScript運算子轉換規則可用來說明兩數的比較. 2 數字比較後,最小者為選取者. 3 若兩者相等,則選取第一個. |
| Parameters | value1=Number value2=Number |
| Return value | Number or invalid. |
| Exceptions | – |
| Example | var a=-3; var b=Lang.abs(a); var c=Lang.min(a,b); // c=-3 var d=Lang.min(45, 76.3); // d=45 (integer) var e=Lang.min(45, 45.0); // e=45 (integer) |
|
max |
|---|
| Function | max(value1, value2) |
| Description | 傳回所給兩數的最大值.傳回的值和型態如同所選的數字.規則如下所述: 1 WMLScript運算子轉換規則可用來說明兩數的比較. 2 數字比較後,最大者為選取者. 3 若兩者相等,則選取第一個. |
| Parameters | value1=Number value2=Number |
| Return value | Number or invalid. |
| Exceptions | – |
| Example | var a=-3; var b=Lang.abs(a); var c=Lang.max(a,b); // c=3 var d=Lang.max(45.5, 76); // d=76 (integer) var e=Lang.max(45.0, 45); // e=45.0 (float) |
|
parseInt |
|---|
| Function | parseInt(value) |
| Description | 傳回string value所定義的integer value.合法的integer syntax說明在WMLScript
numeric string grammar for decimal integer literals,並且使用下面的規則: 語法分析結束當第一個character遇到不是以+ or –開頭或decimal digit. 結果:parsed string 轉換成integer value. |
| Parameters | value=String |
| Return value | Integer or invalid. |
| Exceptions | In case of a parsing error an invalid value is returned. |
| Example | var i=Lang.parseInt("1234"); // i=1234 var j=Lang.parseInt("100 m/s"); // j=100 |
|
parseFloat |
|---|
| Function | parseFloat(value) |
| Description | 傳回string value所定義的integer value.合法的integer syntax說明在WMLScript
numeric string grammar for decimal integer literals,並且使用下面的規則: 語法分析結束當第一個character不能被part parsed為floating-point表示法. 結果:parsed string 轉換成integer value. |
| Parameters | value=String |
| Return value | Floating-point or invalid. |
| Exceptions | In case of a parsing error an invalid value is returned. If the system does not support floating-point operations, an invalid value is returned. |
| Example | var a=Lang.parseFloat("123.7"); // a=123.7 var b=Lang.parseFloat("+7.34e2 Hz"); // b=7.34e2 var c=Lang.parseFloat("70e-2 F"); // c=70.0e-2 var d=Lang.parseFloat("-1. C"); // d=-0.1 var e=Lang.parseFloat(" 100 "); // e=100.0 var f=Lang.parseFloat("Number:5.5"); // f=invalid var g=Lang.parseFloat("7.3e meters); // g=invalid var h=Lang.parseFloat("7.3e- m/s); // h=invalid |
|
isInt |
|---|
| Function | isInt(value) |
| Description | 傳回boolean值,測試所給數字是否可以被parseInt(value)轉成Integer.否則傳回false. |
| Parameters | value=Any |
| Return value | Boolean or invalid. |
| Exceptions | – |
| Example | var a=Lang.isInt("-123"); // true var b=Lang.isInt("123.33); // true var c=Lang.isInt("string"); // false var d=Lang.isInt("#123"); // false var e=Lang.isInt(invalid); // invalid |
|
isFloat |
|---|
| Function | isFloat(value) |
| Description | 傳回boolean值,測試所給數字是否可以被parseFloat(value)轉成floating-point.否則傳回false. |
| Parameters | value=Any |
| Return value | Boolean or invalid. |
| Exceptions | If the system does not support floating-point operations, an invalid value is returned. |
| Example | var a=Lang.isFloat("-123"); // true var b=Lang.isFloat("123.33"); // true var c=Lang.isFloat("string"); // false var d=Lang.isFloat("#123.33");// false var e=Lang.isFloat(invalid); // invalid |
|
maxInt |
|---|
| Function | maxInt( ) |
| Description | 傳回最大的integer value. |
| Parameters | – |
| Return value | Integer 2147483647 |
| Exceptions | – |
| Example | var a=Lang.maxInt(); |
|
minInt |
|---|
| Function | minInt( ) |
| Description | 傳回最小的integer value. |
| Parameters | – |
| Return value | Integer –2147483647 |
| Exceptions | – |
| Example | var a=Lang.minInt(); |
|
float |
|---|
| Function | float( ) |
| Description | 如果支援floating-points則傳回ture,否則為false. |
| Parameters | – |
| Return value | Boolean. |
| Exceptions | – |
| Example | var floatsSupported = Lang.float(); |
|
exit |
|---|
| Function | exit(value) |
| Description | 終止WMLScript bytecode的interpretation,且把控制權歸還呼叫WMLScript interpreter的程式並附上return value.你可以利用此function做normal exit,當WMLScript bytecode應該停止時. |
| Parameters | value=Any |
| Return value | None. This function ends the interpretation. |
| Exceptions | – |
| Example | Lang.exit("Value: " + myVal); // Returns a string Lang.exit(invalid); // Returns invalid |
|
abort |
|---|
| Function | abort(errorDescription) |
| Description | AbortsWMLScript bytecode的interpretation,且把控制權歸還呼叫WMLScript interpreter的程式並附上return errorDescription.你可以利用此function做abnormal exit當WMLScript 的執行不應該繼續,導致由呼叫的程式偵測到錯誤時.如果errorDescription的型態是 invalid, string invalid用來取代errorDescription. |
| Parameters | errorDescription=String |
| Return value | None. This function aborts the interpretation. |
| Exceptions | – |
| Example | Lang.abort("Error: " + errVal); // Error value string |
|
random |
|---|
| Function | random(value) |
| Description | 傳回0到所選數字中的任意正整數.傳回值由uniform distribution在範圍中隨機決定.如果value為floating-point,先用Float.int( )去計算actual integer value. |
| Parameters | value=Integer |
| Return value | Integer or invalid. |
| Exceptions | If value is equal to zero (0), the function returns zero. If value is less than zero (0), the function returns invalid. |
| Example | var a=10; var b=Lang.random(5.1)*a; // b=0..50 var c=Lang.random("string"); // c=invalid |
|
seed |
|---|
| Function | seed(value) |
| Description | 初始化pseudo-random number sequence且傳回空字串.如果值為零或正整數, the given value 用來初始化:否則a random initialization value is used.如果值為floating-point, Float.int( )先用來計算actual integer value. |
| Parameters | value=Integer |
| Return value | String or invalid. |
| Exceptions | – |
| Example | var a=Lang.seed(123); // a="" var b=Lang.random(20); // b=0..20 var c=Lang.seed("seed"); // c=invalid (random seed left unchanged) |
|
characterSet |
|---|
| Function | CharacterSet() |
| Description | 傳回WMLScript Interpreter所支援的character set.傳回值為integer,指出MIBEnum value assigned by the IANA for all character sets. |
| Parameters | – |
| Return value | Integer |
| Exceptions | – |
| Example | Var charset = Lang.characterSet(); // charset = 4 for latin1 |