User:Void Singer/Functions: Difference between revisions
Void Singer (talk | contribs) m woot, public domain stuffs =) |
Void Singer (talk | contribs) m perils of copypasta |
||
| Line 37: | Line 37: | ||
/*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/ | /*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/ | ||
/*//-- --//*/</lsl> | /*//-- --//*/</lsl> | ||
:[[User:Void_Singer/ | :[[User:Void_Singer/Functions#Return_to_Void_Singers_user_page|Return to top]] | ||
}} | }} | ||
| Line 98: | Line 98: | ||
/*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/ | /*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/ | ||
/*//-- --//*/</lsl> | /*//-- --//*/</lsl> | ||
:[[User:Void_Singer/ | :[[User:Void_Singer/Functions#Return_to_Void_Singers_user_page|Return to top]] | ||
}} | }} | ||
| Line 127: | Line 127: | ||
/*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/ | /*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/ | ||
/*//-- --//*/</lsl> | /*//-- --//*/</lsl> | ||
:[[User:Void_Singer/ | :[[User:Void_Singer/Functions#Return_to_Void_Singers_user_page|Return to top]] | ||
}} | }} | ||
| Line 168: | Line 168: | ||
/*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/ | /*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/ | ||
/*//-- --//*/</lsl> | /*//-- --//*/</lsl> | ||
:[[User:Void_Singer/ | :[[User:Void_Singer/Functions#Return_to_Void_Singers_user_page|Return to top]] | ||
}} | }} | ||
Revision as of 23:51, 15 July 2009
String: Get Reverse Order
Reverse String Order (faster version)
<lsl>string uStringRevF( string vStrSrc ){
integer vIntCnt = llStringLength( vStrSrc );
@Loop; if (vIntCnt--){
vStrSrc += llGetSubString( vStrSrc, vIntCnt, vIntCnt );
jump Loop;
}
return llGetSubString( vStrSrc, llStringLength( vStrSrc ) >> 1, -1 );
} /*//-- Anti-License Text --//*/ /*// Contributed Freely to the Public Domain without limitation. //*/ /*// 2009 (CC0) [ http://creativecommons.org/publicdomain/zero/1.0 ] //*/ /*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/ /*//-- --//*/</lsl>
Reverse String Order (smaller memory version)
<lsl>string uStringRevS( string vStrSrc ){
integer vIntCnt = llStringLength( vStrSrc );
@Loop; if (vIntCnt--){
vStrSrc += llGetSubString( vStrSrc, vIntCnt, vIntCnt );
vStrSrc = llDeleteSubString( vStrSrc, vIntCnt, vIntCnt );
jump Loop;
}
return vStrSrc;
} /*//-- Anti-License Text --//*/ /*// Contributed Freely to the Public Domain without limitation. //*/ /*// 2009 (CC0) [ http://creativecommons.org/publicdomain/zero/1.0 ] //*/ /*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/ /*//-- --//*/</lsl>
String: Find Last Index
- This function is a companion to llSubStringIndex.
Get Last Index of String Test in String Source
<lsl>integer uGetStrIdxRev1( string vStrSrc, string vStrTst ){
integer vIdxFnd =
llStringLength( vStrSrc ) -
llStringLength( vStrTst ) -
llStringLength(
llList2String(
llParseStringKeepNulls( vStrSrc, (list)vStrTst, [] ),
-1)
);
return (vIdxFndList: Get Reverse Order
- These functions are companions to llListSort.
Reverse List Order (faster version)
<lsl>list uListRevF( list vLstSrc ){
integer vIntCnt = (vLstSrc != []);
@Loop; if (vIntCnt--){
vLstSrc += llList2List( vLstSrc, vIntCnt, vIntCnt );
jump Loop;
}
return llList2List( vLstSrc, (vLstSrc != []) >> 1, -1 );
} /*//-- Anti-License Text --//*/ /*// Contributed Freely to the Public Domain without limitation. //*/ /*// 2009 (CC0) [ http://creativecommons.org/publicdomain/zero/1.0 ] //*/ /*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/ /*//-- --//*/</lsl>
Reverse List Order (smaller memory version)
<lsl>list uListRevS( list vLstSrc ){
integer vIntCnt = (vLstSrc != []);
@Loop; if (vIntCnt--){
vLstSrc += llList2List( vLstSrc, vIntCnt, vIntCnt );
vLstSrc = llDeleteSubList( vLstSrc, vIntCnt, vIntCnt );
jump Loop;
}
return vLstSrc;
} /*//-- Anti-License Text --//*/ /*// Contributed Freely to the Public Domain without limitation. //*/ /*// 2009 (CC0) [ http://creativecommons.org/publicdomain/zero/1.0 ] //*/ /*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/ /*//-- --//*/</lsl>
List: Find Last Index
- This function is a companion to llListFindList.
- SPECIAL NOTE: this is only designed to work on string data that will NOT contain the "•" character(alt+7)... please use a different character to suit your needs.
Get Last Index of List Test in List Source
<lsl>integer uGetLstIdxRev( list vLstSrc, list vLstTst ){
integer vIdxFnd =
(vLstSrc != []) +
([] != vLstTst) +
([] != llParseString2List(
llList2String(
llParseStringKeepNulls(
llDumpList2String( vLstSrc, "•" ),
(list)llDumpList2String( vLstTst, "•" ),
[] ),
-1 ),
(list)"•",
[] ));
return (vIdxFndList: Multi-Find Index (First or Last)
- These functions are companions to llListFindList.
Get First Index in List Source of any element in List Test
<lsl>integer uMatchLstIdxFwd( list vLstSrc, list vLstTst ){
return ((llParseString2List(
llList2String(
llParseStringKeepNulls(
llDumpList2String( vLstSrc, ";" ),
vLstTst, [] ),
0 ),
(list)";", [] ) != []) + 1) %
((vLstSrc != []) + 1) - 1;
} /*//-- Anti-License Text --//*/ /*// Contributed Freely to the Public Domain without limitation. //*/ /*// 2009 (CC0) [ http://creativecommons.org/publicdomain/zero/1.0 ] //*/ /*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/ /*//-- --//*/</lsl>
Get Last Index in List Source of any element in List Test
<lsl>integer uMatchLstIdxRev( list vLstSrc, list vLstTst ){
return (vLstSrc != []) -
(llParseString2List(
llList2String(
llParseString2List(
llDumpList2String( vLstSrc, ";" ),
vLstTst, [] ),
-1 ),
(list)";",
[] ) != []) - 1;
} /*//-- Anti-License Text --//*/ /*// Contributed Freely to the Public Domain without limitation. //*/ /*// 2009 (CC0) [ http://creativecommons.org/publicdomain/zero/1.0 ] //*/ /*// Void Singer [ https://wiki.secondlife.com/wiki/User:Void_Singer ] //*/ /*//-- --//*/</lsl>