Difference between revisions of "String Compare"
Jump to navigation
Jump to search
Line 7: | Line 7: | ||
I have used this script for comparing the [[Key|Keys]] of two objects in a dynamic set of sensors, to decide which one should be the "Master" in the region to tell me information. I'm sure there can be more uses to this... | I have used this script for comparing the [[Key|Keys]] of two objects in a dynamic set of sensors, to decide which one should be the "Master" in the region to tell me information. I'm sure there can be more uses to this... | ||
<pre> | <pre> | ||
Line 18: | Line 17: | ||
return -1; | return -1; | ||
} else { | } else { | ||
list l = [s1, s2]; | |||
l = llListSort(l, 0, 1); | |||
if (s1 == llList2String(l, 0)) | |||
return 1; | |||
return -1; | |||
} | } | ||
} | } | ||
</pre> | </pre> |
Revision as of 15:23, 26 August 2007
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Created by Xaviar Czervik. Do whatever you wish with this function: Sell it (good luck), use it, or modify it.
The following code returns 1, -1 or 0. The 1 and -1 are essentially random, however it will return the same value every time the script is executed. 0 Is returned when, and only when, the strings are exactly equal.
I have used this script for comparing the Keys of two objects in a dynamic set of sensors, to decide which one should be the "Master" in the region to tell me information. I'm sure there can be more uses to this...
integer compare(string s1, string s2) { if (s1 == s2) { return 0; } else if (llStringLength(s1) < llStringLength(s2)) { return 1; } else if (llStringLength(s1) > llStringLength(s2)) { return -1; } else { list l = [s1, s2]; l = llListSort(l, 0, 1); if (s1 == llList2String(l, 0)) return 1; return -1; } }