Difference between revisions of "LlOrd"

From Second Life Wiki
Jump to navigation Jump to search
(Created page with "{{LSL Function |func_sleep=0.0|func_energy=10.0 |func=llOrd|sort=Ord |func_desc=Calculate the ordinal value for a character in a string. |return_type=integer |p1_type=string|p...")
 
(Added index notes)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{LSL Function
{{LSL Function
|inject-2={{LSL_Function/negative index|true|index}}
|func_sleep=0.0|func_energy=10.0
|func_sleep=0.0|func_energy=10.0
|func=llOrd|sort=Ord
|func=llOrd|sort=Ord
Line 9: Line 10:
|p2_hover=Index of character ordinal to retrieve.
|p2_hover=Index of character ordinal to retrieve.
|return_text=
|return_text=
|func_footnote=The returned value is the UTF-16 value of the character at the specified index.
|func_footnote=The returned value is the UTF-32 value of the character at the specified index.  If index is outside the bounds of the string, this function returns 0.
|spec
|spec
|caveats
|caveats
|examples=
|examples=
<source lang="lsl2">
default
{
    touch_start(integer total_number)
    {
        string test_string = "The quick brown fox jumped over the lazy dog";
        list test_list = [];
        string test_string2 = "";
       
        integer index;
        integer ord;
        for (index = 0; index < llStringLength(test_string); ++index)
        {
            ord = llOrd(test_string, index);
            test_list = test_list + [ ord ];
        }
       
        string char;
        for (index = 0; index < llGetListLength(test_list); ++index)
        {
            ord = llList2Integer(test_list, index);
            char = llChar(ord);
            test_string2 = test_string2 + char;
        }
       
        llSay(0, "\"" + test_string + "\" -> [" +
            llDumpList2String(test_list, ", ") + "] -> \"" + test_string2 + "\"");
    }
}
</source>
|helpers|related
|helpers|related
|also_functions=
|also_functions=
{{LSL DefineRow|[[llChar]]|Convert an ordinal into a character}}
{{LSL DefineRow|[[llChar]]|Convert an ordinal into a character}}
{{LSL DefineRow|[[llHash]]|Calculate a 32bit hash for a string}}
{{LSL DefineRow|[[llHash]]|Calculate a 32bit hash for a string}}
|also_articles={{LSL DefineRow||{{wikipedia|UTF-16}}|}}
|also_articles={{LSL DefineRow||{{wikipedia|UTF-32}}|}}
|notes
|notes
|cat1=Math/Trigonometry
|cat1
|cat2
|cat2
|cat3
|cat3
|cat4
|cat4
}}
}}

Latest revision as of 10:30, 14 May 2021

Summary

Function: integer llOrd( string val, integer index );

Calculate the ordinal value for a character in a string.
Returns an integer

• string val Source string for character ordinal.
• integer index Index of character ordinal to retrieve.

index supports negative indexes. The returned value is the UTF-32 value of the character at the specified index. If index is outside the bounds of the string, this function returns 0.

Specification

Index Positive Negative
First 0 -length
Last length - 1 -1

Indexes

  • Positive indexes count from the beginning, the first item being indexed as 0, the last as (length - 1).
  • Negative indexes count from the far end, the first item being indexed as -length, the last as -1.

Caveats

  • If index is out of bounds the script continues to execute without an error message.
All Issues ~ Search JIRA for related Bugs

Examples

default
{
    touch_start(integer total_number)
    {
        string test_string = "The quick brown fox jumped over the lazy dog";
        list test_list = [];
        string test_string2 = "";
        
        integer index;
        integer ord;
        for (index = 0; index < llStringLength(test_string); ++index)
        {
            ord = llOrd(test_string, index);
            test_list = test_list + [ ord ];
        }
        
        string char;
        for (index = 0; index < llGetListLength(test_list); ++index)
        {
            ord = llList2Integer(test_list, index);
            char = llChar(ord);
            test_string2 = test_string2 + char;
        }
        
        llSay(0, "\"" + test_string + "\" -> [" + 
            llDumpList2String(test_list, ", ") + "] -> \"" + test_string2 + "\"");
    }
}

See Also

Functions

• llChar Convert an ordinal into a character
• llHash Calculate a 32bit hash for a string

Articles

•  Negative Index
•  "Wikipedia logo"UTF-32

Deep Notes

Search JIRA for related Issues

Signature

function integer llOrd( string val, integer index );