> On Apr 10, 2016, at 6:01 PM, Milos Rankovic <mi...@milos-and-slavica.net>
> wrote:
>
> As I already stressed, I certainly do not imagine this to be
> “Swift-specific”, nor do I see any reason it would need to be.
It sounds like you’re asking for a `sample` property to be added to NSArray,
NSDictionary, NSSet, etc. You could certainly request that Apple do that, by
filing a request at http://bugreport.apple.com, but don’t expect a reply;
Apple’s framework teams are notoriously opaque.
Putting on my framework-designer hat, I’d argue that “random” is a broad
concept with several possible implementations. Which RNG does `sample` use?
Pick a cryptographic one and it might be too slow for some use cases; pick a
fast one and it'd be insufficiently random, making it dangerous to use for
anything related to security. The right answer might be to have a RNG protocol,
with several implementations backed by different generators, that exposes a
method like `randomElement(Collection)`.
> Also, it looks like you’ve missed my previous email in this thread where I
> give examples of current Foundation extensions of Standard Library types, and
> where I also make the bare bones of my wish-list rather more explicit.
The way those are implemented is a weird hack, so they’re not actually good
examples of what you’re asking for.
It’s not that Apple's Foundation framework contains any extensions to Swift;
Foundation is lower-level and I don’t believe it has any knowledge at all of
Swift. So this is not the same effect as when you import a Swift library to get
extensions. Rather, importing Foundation is a hardwired signal to the Swift
compiler to activate the implicit bridging between Swift’s String class and
Foundation’s NSString (and likewise for Array/NSArray, etc.)
In Swift 3 this will supposedly change: these APIs will be added directly to
the Swift classes, removing the need for bridging.
—Jens
_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users