[swift-evolution] Proposal: Allow operators to have parameters with default values
    Brent Royal-Gordon 
    brent at architechies.com
       
    Sat Nov  4 01:55:26 CDT 2017
    
    
  
> On Nov 2, 2017, at 7:05 PM, Xiaodi Wu via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Firstly, because for the proposed use case it's not a "default" parameter in that it's not overridable: you can't actually pass another argument.
Sure you can. Remember, you can call an operator with function-call syntax:
	(+)(1, 2)
We could allow you to specify the non-default parameters when you need to using this syntax:
	// Normal use:
	value !! MyError.missingValue
	// With defaulted parameters changed:
	(!!)(value, MyError.missingValue, file: someFile, line: someLine)
We could also—as part of a separate proposal, perhaps in a future version of Swift—explore a more elegant syntax for adding options to operator calls. This could be useful for things like string comparisons where you need to decide whether a comparison should be locale-aware, case-sensitive, etc.
	// Strawman syntax of possible future expansion:
	value !! MyError.missingValue #(file: someFile, line: someLine)
-- 
Brent Royal-Gordon
Architechies
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20171103/ded63a52/attachment.html>
    
    
More information about the swift-evolution
mailing list