[swift-evolution] Arrays Returning Optionals instead of Index Out of Bounds

Rob Norback rnorback at gmail.com
Mon Jun 6 11:50:03 CDT 2016


Hi Everyone!

This is my first time emailing the swift evolution list, so if this topic
has already been discussed please let me know.  I looked through all the
accepted and rejected proposals and it doesn't seem to be on there.

The main thought is that dictionaries return optionals, so why not arrays?
Or other CollectionTypes for that matter.  I would think this would be the
expected behavior in this situation:

var myArray:[String?] = []
print(myArray[4])
// EXC_BAD_INSTRUCTION, but could just be Optional(nil)

Then you could do things like

if let arrayValue = myArray[4] {
   // do something
}

Of course you could simply check with with the count, but considering
Swift's use of optionals to represent empty variables rather than erroring
out or returning an empty String, I think this functionality would be
appropriate to include in the Swift standard library.

And there's about 15,000 people who've looked for this functionality in the
last year:
http://stackoverflow.com/questions/25329186/safe-bounds-checked-array-lookup-in-swift-through-optional-bindings
.

Please let me know what you think.

Best,
Rob Norback
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160606/5039366c/attachment.html>


More information about the swift-evolution mailing list