<div dir="ltr"><br><div class="gmail_quote">On Tue, Aug 26, 2008 at 9:23 PM, James Y Knight <span dir="ltr">&lt;<a href="mailto:foom@fuhm.net">foom@fuhm.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On Aug 27, 2008, at 12:14 AM, Chris Monson wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
And I think that metaphor is easy to read. Chains of else operators can be useful:<br>
<br>
 &nbsp; x = f() else g() else h() else 0<br>
<br>
Not a bad idea. &nbsp;Looks like the time machine is at work again:<br>
<br>
x = f() or g() or h() or 0<br>
</blockquote>
<br></div>
Well...no. &quot;else&quot; here is significantly different from &quot;or&quot;: it only tests for None, not falseness.<br>
<br></blockquote><div>Correct.<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Although, maybe you just meant that &quot;else&quot; and &quot;or&quot; have such similar behavior, and their names do not obviously distinguish their behavior. And, thus, people would find them confusing, so &quot;else&quot; should not be added to the language. That I could agree with.<br>
<font color="#888888">
<br></font></blockquote></div>Unfortunately, I agree that it&#39;s confusing because else implies a boolean value. It doesn&#39;t mean that some other analog for the ?? operator wouldn&#39;t be useful. Alternatively, an analog for just the ??= operator would explicitly address this case:<br>
<br>&nbsp;&nbsp;&nbsp; arg floob value <br>is<br>&nbsp;&nbsp;&nbsp; arg = value if arg is None else arg<br><br>although I&#39;m sure there&#39;s a better word than floob. The downside of floob is that it only addresses this case so not a very convincing argument.<br>
<br>--- Bruce<br><br></div>