<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 style="margin: 0px; line-height: normal; color: rgb(69, 69, 69);" class=""><font face="Arial" size="2" class="">Thank you, Jens, for your response.&nbsp;</font></div><div style="margin: 0px; line-height: normal; color: rgb(69, 69, 69);" class=""><font face="Arial" size="2" class=""><br class=""></font></div><div style="margin: 0px; line-height: normal; color: rgb(69, 69, 69);" class=""><font face="Arial" size="2" class="">I do however disagree with both points you are making. First, you write that sampling collection elements</font><span style="font-family: Arial; font-size: small;" class="">&nbsp;</span><span style="font-family: Arial; font-size: small;" class="">at random</span><span style="font-family: Arial; font-size: small;" class="">&nbsp;is:</span></div><div style="margin: 0px; line-height: normal; color: rgb(69, 69, 69); min-height: 14px;" class=""><font face="Arial" size="2" class=""><br class=""></font></div><div style="margin: 0px; line-height: normal; color: rgb(69, 69, 69);" class=""><blockquote type="cite" style="font-family: -webkit-standard;" class="">a pretty obscure feature</blockquote></div><div style="margin: 0px; line-height: normal; color: rgb(69, 69, 69); min-height: 14px;" class=""><font face="Arial" size="2" class=""><br class=""></font></div><div style="margin: 0px; line-height: normal;" class=""><font face="Arial" size="2" class=""><font color="#454545" class="">But how can this be? When you teach students how to implement a card playing game in Swift, how do you shuffle the deck? And when you test your code, do you not feed your methods with randomly generated and sampled simulated&nbsp;data, or do so at random intervals? And when you’re simply checking out an idea in the playground, do you not want randomly sampled or reshuffled inputs? Should any of these activities qualify as obscure?</font></font></div><div style="margin: 0px; line-height: normal; color: rgb(69, 69, 69); min-height: 14px;" class=""><font face="Arial" size="2" class=""><br class=""></font></div><div style="margin: 0px; line-height: normal; color: rgb(69, 69, 69);" class=""><font face="Arial" size="2" class="">As for:</font></div><div style="margin: 0px; line-height: normal; color: rgb(69, 69, 69); min-height: 14px;" class=""><font face="Arial" size="2" class=""><br class=""></font></div><div style="margin: 0px; line-height: normal; color: rgb(69, 69, 69);" class=""><blockquote type="cite" class="">I don’t understand the comparison with capitalizedString; this works after importing Foundation because...</blockquote></div><div style="margin: 0px; line-height: normal; color: rgb(69, 69, 69); min-height: 14px;" class=""><font face="Arial" size="2" class=""><br class=""></font></div><div style="margin: 0px; line-height: normal; color: rgb(69, 69, 69);" class=""><font face="Arial" size="2" class="">Indeed, nothing after that “because” would help understand what I meant by the comparison. It is the fact of the import that I was trying to highlight. That `Foundation`&nbsp;<b class="">extends</b>&nbsp;fundamental Standard Library types and protocols (like `String` in this case). The ObjC–Swift bridge is relevant here only in the sense that I would&nbsp;</font><span style="font-family: Arial; font-size: small;" class="">also</span><span style="font-family: Arial; font-size: small;" class="">&nbsp;</span><span style="font-family: Arial; font-size: small;" class="">like sampling methods added to `NSArray`, `NSSet` or `NSDictionary`...</span></div><div style="margin: 0px; line-height: normal; color: rgb(69, 69, 69); min-height: 14px;" class=""><font face="Arial" size="2" class=""><br class=""></font></div><div style="margin: 0px; line-height: normal; color: rgb(69, 69, 69);" class=""><font face="Arial" size="2" class="">At present, when we need a source of random bits on Apple’s platforms, we dip into `Darwin` or `GameplayKit` frameworks. This is fine, and even if it wasn’t, it is unlikely to change (even when new RNG algorithms get introduced).&nbsp;</font></div><div style="margin: 0px; line-height: normal; color: rgb(69, 69, 69); min-height: 14px;" class=""><font face="Arial" size="2" class=""><br class=""></font></div><div style="margin: 0px; line-height: normal;" class=""><font face="Arial" size="2" class=""><font color="#454545" class="">What I would personally like to see, however (and what I was wondering the community feels about), is that one of these frameworks&nbsp;</font><b style="color: rgb(69, 69, 69);" class="">extends</b><font color="#454545" class="">&nbsp;Standard Library data types and protocols with this functionality, which most of us gets the taste of right with our first encounters with computer programming and which we continue to rely on throughout our&nbsp;careers.</font></font></div><div style="margin: 0px; line-height: normal; color: rgb(69, 69, 69);" class=""><font face="Arial" size="2" class=""><br class=""></font></div><div class=""><div style="margin: 0px; line-height: normal; color: rgb(69, 69, 69);" class=""><font face="Arial" size="2" class="">milos</font></div></div><div class=""><font face="Arial" size="2" class=""><br class=""></font></div><div><blockquote type="cite" class=""><div class="">On 10 Apr 2016, at 17:33, Jens Alfke &lt;<a href="mailto:jens@mooseyard.com" class="">jens@mooseyard.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">It sounds like you’re suggesting that a “sample” property (that returns a randomly chosen element) should be added to the standard library? You could suggest that on the swift-evolution list, though IMHO it seems like a pretty obscure feature that not many users would need.<br class=""><br class="">I don’t understand the comparison with capitalizedString; this works after importing Foundation because of the bridging between String and NSString, which is an artifact of the Mac/iOS Swift 2.x’s dependency on the Cocoa frameworks.<br class=""><br class="">—Jens</div></div></blockquote><blockquote type="cite" class=""><br class=""></blockquote></div><blockquote type="cite" class=""></blockquote><blockquote type="cite" class=""><blockquote type="cite" class=""><font face="Arial" class="" style="font-size: 12px;">In the playground:</font><div class=""><font face="Arial" class="" style="font-size: 12px;"><br class=""></font></div><div class=""><font face="Menlo" class="" style="font-size: 12px;">&nbsp; &nbsp;&nbsp;<b class="">"</b>works?<b class="">"</b>.<b class="">capitalizedString</b>&nbsp;// error: value of type 'String' has no member 'capitalizedString'<br class=""></font><font face="Arial" class=""><br class=""><span class="" style="font-size: 12px;">…&nbsp;but:</span></font></div><div class=""><font face="Arial" class="" style="font-size: 12px;"><br class=""></font></div><div class=""><font face="Menlo" class=""><span class="" style="font-size: 12px;">&nbsp; &nbsp;&nbsp;</span><b class="" style="font-size: 12px;">import</b><span class="" style="font-size: 12px;">&nbsp;Foundation</span><br class=""><span class="" style="font-size: 12px;">&nbsp; &nbsp;&nbsp;<b class="">“</b>works!</span><b class="" style="font-size: 12px;">”</b><span class="" style="font-size: 12px;">.</span><b class="" style="font-size: 12px;">capitalizedString</b><span class="" style="font-size: 12px;">&nbsp;//&nbsp;“Works!”&nbsp;</span></font></div><div class=""><br class=""></div><div class=""><font face="Arial" class=""><span class="" style="font-size: 12px;">Would it not be nice if all the following likewise worked:</span></font></div><div class=""><font face="Arial" class=""><span class="" style="font-size: 12px;"><br class=""></span></font></div><span class="" style="font-family: Menlo; font-size: 12px;">&nbsp; &nbsp;&nbsp;</span><b class="" style="font-family: Menlo; font-size: 12px;">import</b><span class="" style="font-family: Menlo; font-size: 12px;">&nbsp;Foundation</span><br class="" style="font-family: Menlo;"><span class="" style="font-family: Menlo; font-size: 12px;">&nbsp; &nbsp;&nbsp;</span><br class="" style="font-family: Menlo;"><div class=""><font face="Menlo" class=""><span class="" style="font-size: 12px;">&nbsp; &nbsp;</span><span class="" style="font-size: 12px;">&nbsp;</span><span class="" style="font-size: 12px;">(<b class="">1</b>..&lt;<b class="">4</b>).<b class="">sample</b><br class=""></span><span class="" style="font-size: 12px;">&nbsp; &nbsp;&nbsp;</span><span class="" style="font-size: 12px;">[<b class="">1</b>,<b class="">2</b>,<b class="">3</b>].<b class="">sample</b><br class=""></span><span class="" style="font-size: 12px;">&nbsp; &nbsp;&nbsp;</span><span class="" style="font-size: 12px;">"abc".characters.<b class="">sample</b><br class=""></span><span class="" style="font-size: 12px;">&nbsp; &nbsp;&nbsp;</span><span class="" style="font-size: 12px;">["a":&nbsp;<b class="">1</b>,&nbsp;"b":&nbsp;<b class="">2</b>,&nbsp;"c":&nbsp;<b class="">3</b>].<b class="">sample</b></span></font></div><div class=""><font face="Arial" class="" style="font-size: 12px;"><br class="">Like so many users of Swift, I have&nbsp;</font><a href="http://stackoverflow.com/a/30285125/1409907" class=""><font face="Arial" class="" style="font-size: 12px;">extensions</font></a><font face="Arial" class="" style="font-size: 12px;">&nbsp;of&nbsp;</font><span class="" style="font-size: 12px;"><font face="Menlo" class="">IntegerType</font><font face="Arial" class="">,&nbsp;</font><font face="Menlo" class="">ClosedInterval</font><font face="Arial" class="">&nbsp;and&nbsp;</font><font face="Menlo" class="">CollectionType</font><font face="Arial" class="">&nbsp;that avail me of the above methods and their family, but I’d much rather if such extensions came with&nbsp;</font><font face="Menlo" class="">Darwin</font></span>&nbsp;<span class="" style="font-family: Arial; font-size: 12px;">or at least</span>&nbsp;<span class="" style="font-size: 12px;"><font face="Menlo" class="">Foundation</font><font face="Arial" class="">.</font></span></div><div class=""><font face="Arial" class="" style="font-size: 12px;"><br class=""></font></div><div class=""><font face="Arial" class="" style="font-size: 12px;">milos</font></div></blockquote></blockquote><div class=""><font face="Arial" class="" style="font-size: 12px;"><br class=""></font></div></body></html>