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型態可以接受IntegerFloat兩種型態時.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