<font size=2 face="sans-serif">Hi folks,</font>
<br><font size=2 face="sans-serif">I'm doing some scripting on an inbound
attribute that will never be null and I'm trying to understand why the
expression fails if I do not check for a string first.</font>
<br>
<br><font size=2 face="sans-serif">This works...</font>
<br><font size=2 face="sans-serif"><code></font>
<br><font size=2 face="sans-serif">           String
result = basic.stringify(input)?.size() > 0 ? basic.stringify(input).substring(0,
basic.stringify(input).indexOf('@')):'';</font>
<br><font size=2 face="sans-serif">           return
result;</font>
<br><font size=2 face="sans-serif"> </code></font>
<br>
<br>
<br><font size=2 face="sans-serif">And this does *not* work...</font>
<br><font size=2 face="sans-serif"><code></font>
<br><font size=2 face="sans-serif">        String result
= basic.stringify(input).substring(0, basic.stringify(input).indexOf('@'));</font>
<br><font size=2 face="sans-serif">        return result;</font>
<br><font size=2 face="sans-serif"></code></font>
<br><font size=2 face="sans-serif">... claiming the input variable is null.</font>
<br>
<br><font size=2 face="sans-serif">I know it's best to always check if
something exists before doing an operation on it, but I'm curious as to
why it fails in this case if I do not check.   I'm executing against
the same test set of accounts both times, and they all have the attribute
in question.</font>
<br>
<br><font size=2 face="sans-serif">Thanks</font>
<br><font size=2 face="sans-serif">Tim</font>