<p>In JavaScript, you can do this:</p>

<pre><code>var a = null;
var b = "I'm a value";
var c = null;
var result = a || b || c;
</code></pre>

<p>And 'result' will get the value of 'b' because JavaScript short-circuits the 'or' operator.</p>

<p>I want a one-line idiom to do this in ColdFusion and the best I can come up with is:</p>

<pre><code>&lt;cfif LEN(c) GT 0&gt;&lt;cfset result=c&gt;&lt;/cfif&gt;
&lt;cfif LEN(b) GT 0&gt;&lt;cfset result=b&gt;&lt;/cfif&gt;
&lt;cfif LEN(a) GT 0&gt;&lt;cfset result=a&gt;&lt;/cfif&gt;
</code></pre>

<p>Can anyone do any better than this?</p>

ColdFusion doesn't have nulls.
Your example is basing the choice on which item is an empty string.
If that is what you're after, and all your other values are simple values, you can do this:
```
```
<cfset result = ListFirst( "#a#,#b#,#c#" )/>
```
```
(Which works because the standard list functions ignore empty elements.)