Like
From Second Life Wiki
| Languages: |
English • Deutsch • Español • ελληνικά • Français • עברית • Italiano • 日本語 • 한국어 • Nederlands • Magyar • Norsk • Dansk • Svenska • Türkçe • Polski • Português • Русский • украї́нська • 中文(简体) • 中文(繁體) |
| Volunteer translated pages are linked in blue, Google translated pages are linked in grey. Learn how to provide volunteer translations. | |
| LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Tutorials |
Summary
Function: integer like( string value, string mask );
See if one word matches part of another.
Returns an integer that is TRUE if value tested positive for mask, otherwise it is FALSE.
| • string | value | |||
| • string | mask |
You can, for example, loop through a list, passing it extracted values from the list and the mask, and it will let you pull out items from the list which are a valid match according to the mask criteria you specified.
Specification
integer like(string value, string mask) { integer tmpy = (llGetSubString(mask, 0, 0) == "%") | ((llGetSubString(mask, -1, -1) == "%") << 1); if(tmpy) mask = llDeleteSubString(mask, (tmpy / -2), -(tmpy == 2)); integer tmpx = llSubStringIndex(value, mask); if(~tmpx) { integer diff = llStringLength(value) - llStringLength(mask); return ((!tmpy && !diff) || ((tmpy == 1) && (tmpx == diff)) || ((tmpy == 2) && !tmpx) || (tmpy == 3)); } return FALSE; }
Examples
like("Susie", "Sus%"); //will return true, for any value starting with "Sus" like("Susie", "%Sus%"); //will return true, for any value containing "Sus" like("Susie", "%Sus"); //will return false. This example is looking for a string ending in "Sus". like("Susie", "Sus"); //will return false. This example is looking for a string matching only "Sus" exactly.
Deep Notes
Issues
Search JIRA for related IssuesSource
Posted here with the kind permission of Very Keynes. Originally posted February 2008 at http://forums.secondlife.com/showthread.php?t=243445 .

