<div dir="ltr">On Sat, Jun 18, 2016 at 4:50 PM, Michael Peternell via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
&gt; Am 17.06.2016 um 07:45 schrieb Charlie Monroe via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt;:<br>
&gt;<br>
&gt; Motivational example:<br>
&gt;<br>
&gt; var urlString = self.urlString<br>
&gt; if urlString.hasPrefix(&quot;//&quot;) {<br>
&gt;       urlString = &quot;http:&quot; + urlString // urlString needs to be typed twice<br>
&gt; }<br>
&gt;<br>
&gt; While there is currently an easy way to append string using +=, there is no shortcut for prefixing a string. What I propose is adding a =+ operator for prefixing the string:<br>
&gt;<br>
&gt; urlString =+ &quot;http:&quot;<br>
&gt;<br>
&gt; Would anyone else find it useful?<br>
<br>
</span>No. What I would find useful though, is to recognize that addition is not string concatenation. There is a strong convention in mathematics that the &quot;+&quot; symbol should only be used for operations that are commutative. String concatenation is not commutative. (There are more conventions regarding &quot;+&quot;, but all of them are respected by numbers, vectors, complex numbers, quaternions, or matrices - just to name a few.)<br>
<br>
I would like to have a different operator for string concatenation.</blockquote><div><br></div><div>I don&#39;t see how this would measurably improve Swift code. IIUC, much of the problem with `+` and strings arises from implicit conversions that don&#39;t happen in Swift. It&#39;s not even possible to write a generic algorithm that accidentally confuses arithmetic `+` and string concatenation `+`, since you would have to retroactively conform strings and numeric types to a nonsensical protocol of your own making.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Maybe &quot;~~&quot; or &quot;++&quot;? Now that the prefix and postfix operators for numbers (&quot;++&quot; and &quot;--&quot;) are removed from Swift 3, &quot;++&quot; could be used for string concatenation.<br>
<br>
-Michael<br>
<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</div></div></blockquote></div><br></div></div>