<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Personally I’d prefer to use a method like:</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre">        </span><font face="Monaco" class="">21.isDivisibleBy(3)</font></div><div class=""><br class=""></div><div class="">As it’s clearer IMO. My problem with the operator is that it doesn’t make logical sense to have the value you’re dividing by on the right hand side when there are equals signs, it seems more like this should be the value you’re testing. Perhaps there’s a better choice of operator such as:</div><div class=""><br class=""></div><div class=""><font face="Monaco" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>21 %: 3</font></div><div class=""><br class=""></div><div class="">Though that’s probably not very clear either as the colon could be easy to miss. Basically the choice of <font face="Monaco" class="">%==</font> doesn’t suggest its purpose, which makes it one more thing to learn, which is why a method may be a better choice.</div><br class=""><div><blockquote type="cite" class=""><div class="">On 6 Apr 2016, at 17:13, Milos Rankovic via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Checking for divisibility is very common:<div class=""><br class=""></div><div class="">&nbsp; &nbsp;&nbsp;<span class="" style="font-family: 'Source Code Pro'; font-size: 12px; color: rgb(255, 38, 0);">21</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px;">&nbsp;%&nbsp;</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px; color: rgb(255, 38, 0);">3</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px;">&nbsp;==&nbsp;</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px; color: rgb(255, 38, 0);">0</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px;">&nbsp;</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px; color: rgb(203, 203, 203);">// true</span></div><div class=""><br class=""></div><div class="">In fact, this is such a common use of the `<span class="" style="font-family: 'Source Code Pro'; font-size: 12px;">%</span>` operator that the `<span class="" style="font-family: 'Source Code Pro'; font-size: 12px;">==&nbsp;</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px; color: rgb(255, 38, 0);">0</span>` side of the expression seems distracting in this use case. For quite a while now, I’ve been using a custom operator for this, which is steadily growing on me:</div><div class=""><br class=""></div><div class="">&nbsp; &nbsp;&nbsp;<span class="" style="font-family: 'Source Code Pro'; font-size: 12px; color: rgb(255, 38, 0);">21</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px;">&nbsp;</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px; color: rgb(145, 84, 15);">%==</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px;">&nbsp;</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px; color: rgb(255, 38, 0);">3</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px;">&nbsp;</span><span class="" style="color: rgb(203, 203, 203); font-family: 'Source Code Pro'; font-size: 12px;">// true</span></div><div class=""><br class=""></div><div class="">… which also allows me to overload it for sequences:</div><div class=""><br class=""></div><div class="">&nbsp; &nbsp;&nbsp;<span class="" style="font-family: 'Source Code Pro'; font-size: 12px; color: rgb(255, 38, 0);">21</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px;">&nbsp;</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px; color: rgb(145, 84, 15);">%==</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px;">&nbsp;[</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px; color: rgb(255, 38, 0);">7</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px;">,&nbsp;</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px; color: rgb(255, 38, 0);">3</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px;">]&nbsp;</span><span class="" style="font-family: 'Source Code Pro'; font-size: 12px; color: rgb(203, 203, 203);">// true</span></div><div class=""><br class=""></div><div class="">(If I’m inadvertently misusing this mailing list to share such a minor idea, please tell me off so that I can learn not to do it again!)</div><div class=""><br class=""></div><div class="">milos</div></div>_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-evolution<br class=""></div></blockquote></div><br class=""></body></html>