Difference between revisions of "LlCSV2List"

From Second Life Wiki
Jump to navigation Jump to search
Line 8: Line 8:
|spec=Anything between "<" and ">" is considered a single value regardless of the existence of a comma between. For every "<" there needs to be a corresponding ">".
|spec=Anything between "<" and ">" is considered a single value regardless of the existence of a comma between. For every "<" there needs to be a corresponding ">".
<pre>
<pre>
llCSV2List("<>,>,a")  == ["<>", ">", "a"];
llCSV2List("<>,>,a")  == ["<>", ">", "a"]; //didn't match the last ">"
llCSV2List("<<>,>,a")  == ["<<>,>", "a"];
llCSV2List("<<>,>,a")  == ["<<>,>", "a"];   //matched everything
llCSV2List("<<<>,>,a") == ["<<<>,>,a"];
llCSV2List("<<<>,>,a") == ["<<<>,>,a"];     //didn't match the last "<"
</pre>
</pre>


Line 31: Line 31:
         }
         }
     }
     }
}</pre>  
}</pre>
|helpers
|helpers
|also_functions={{LSL DefineRow||[[llList2CSV]]|}}
|also_functions={{LSL DefineRow||[[llList2CSV]]|}}

Revision as of 00:31, 12 April 2007

Summary

Function: list llCSV2List( string src );

Returns a list made from src as comma separated values.

• string src

Do not confuse this function with the "Wikipedia logo"CSV format, it is not the CSV format.

Specification

Anything between "<" and ">" is considered a single value regardless of the existence of a comma between. For every "<" there needs to be a corresponding ">".

llCSV2List("<>,>,a")   == ["<>", ">", "a"]; //didn't match the last ">"
llCSV2List("<<>,>,a")  == ["<<>,>", "a"];   //matched everything
llCSV2List("<<<>,>,a") == ["<<<>,>,a"];     //didn't match the last "<"

Caveats

  • It eats leading and trailing spaces from values.
  • Anything between "<" and ">" is considered a single value, see Specification for further details.
    • This is done so that the function can handle vectors and rotations without extra parsing.
All Issues ~ Search JIRA for related Bugs

Examples

default
{
    state_entry()
    {
        string csv = "first,second,third";
        list my_list = llCSV2List(csv);
        llOwnerSay("CSV: " + csv);
        integer i;
        for (i=0; i<llGetListLength(my_list); ++i)
        {
            llOwnerSay("my_list[" + (string)i + "]: " + llList2String(my_list,i));
        }
    }
}

See Also

Functions

•  llList2CSV
•  llDumpList2String
•  llParseString2List
•  llParseStringKeepNulls

Articles

•  Typecast

Deep Notes

Search JIRA for related Issues

Signature

function list llCSV2List( string src );