[swift-evolution] When to use argument labels, part DEUX (was: when to use argument labels (a new approach))

ilya ilya.nikokoshev at gmail.com
Sun Feb 7 12:52:53 CST 2016


Sorry, the second example was supposed to be

func doSomething(completionHandler completion: (()->Void)? = nil)


On Sun, Feb 7, 2016 at 7:51 PM, ilya <ilya.nikokoshev at gmail.com> wrote:

> One can consider everything inside the parentheses to be an argument list
> and read them as "with/using an argument list". It works well if the
> preceding part has a verb, such as
>
> copy(zone: ...)
> -> "Copy with [a single argument] zone equal to ..."
>
> func doSomethingWith(completionHandler: (()->Void)? = nil)
> -> "doSomething with a given completion handler or do something with a
> default argument list."
>
> Not sure if there's any value in spelling it out. I believe we use "with"
> so it in Objective-C mostly out of necessity and can easily omit it in
> Swift.
>
> Ilya.
>
> On Sat, Feb 6, 2016 at 10:12 PM, Matthew Judge via swift-evolution <
> swift-evolution at swift.org> wrote:
>
>> This issue is going to surface any time a method with a preposition and a
>> single defaulted argument. I would say:
>>
>> copy(with: )
>>
>> Although I think we might have problematic results no matter what
>> guidelines we use for
>>
>> func doSomethingWith(completionHandler: (()->Void)? = nil)
>>
>> since this can be called as
>>
>> doSomethingWith() // doSomething()
>>
>> Or
>>
>> doSomethingWith {...} // doSomething {...}
>>
>> > On Feb 6, 2016, at 15:47, Jean-Daniel Dupas via swift-evolution <
>> swift-evolution at swift.org> wrote:
>> >
>> >
>> >> Le 6 févr. 2016 à 21:15, Douglas Gregor via swift-evolution <
>> swift-evolution at swift.org> a écrit :
>> >>
>> >>
>> >>
>> >> Sent from my iPhone
>> >>
>> >>> On Feb 6, 2016, at 9:21 AM, Thorsten Seitz <tseitz42 at icloud.com>
>> wrote:
>> >>>
>> >>> So the preposition should move into the argument label if the
>> argument is optional?
>> >>>
>> >>> copy(withZone: zone = nil)
>> >>
>> >> Zone is redundant with type information.
>> >>
>> >> copy(with:)?
>> >> copy(withZone:)?
>> >
>> > Wouldn’t it be possible to simply drop the copyWithZone: method that is
>> deprecated for some times now (To quote the doc: Zones are ignored on iOS
>> and 64-bit runtime on OS X. You should not use zones in current
>> development).
>> >
>> >>
>> >>> -Thorsten
>> >>>
>> >>>
>> >>>> Am 06.02.2016 um 14:45 schrieb Matthew Judge via swift-evolution <
>> swift-evolution at swift.org>:
>> >>>>
>> >>>> Very first method
>> >>>>
>> >>>> copyWith(zone: Zone = nil)
>> >>>>
>> >>>> can be called as
>> >>>>
>> >>>> copyWith()
>> >>>>
>> >>>> I'm assuming this is still something we don't want right?
>> >>>>
>> >>>>> On Feb 6, 2016, at 02:16, Douglas Gregor via swift-evolution <
>> swift-evolution at swift.org> wrote:
>> >>>>>
>> >>>>>
>> >>>>>> On Feb 5, 2016, at 1:32 PM, Dave Abrahams via swift-evolution <
>> swift-evolution at swift.org> wrote:
>> >>>>>>
>> >>>>>>
>> >>>>>> Given all the awesome feedback I've gotten on this thread, I went
>> back
>> >>>>>> to the drawing board and came up with something new; I think this
>> one
>> >>>>>> works.  The previously-stated goals still apply:
>> >>>>>
>> >>>>>> [snip goals]
>> >>>>>
>> >>>>>> P.S. Doug is presently working on generating new importer results,
>> based
>> >>>>>>    on these guidelines, for your perusal.  They should be ready
>> soon.
>> >>>>>
>> >>>>> Here’s a link:
>> >>>>>
>> >>>>>
>> https://github.com/apple/swift-3-api-guidelines-review/pull/10/files
>> >>>>>
>> >>>>> Feedback welcome!
>> >>>>>
>> >>>>>    - Doug
>> >>>>>
>> >>>>> _______________________________________________
>> >>>>> swift-evolution mailing list
>> >>>>> swift-evolution at swift.org
>> >>>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>> >>>> _______________________________________________
>> >>>> swift-evolution mailing list
>> >>>> swift-evolution at swift.org
>> >>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>> >> _______________________________________________
>> >> swift-evolution mailing list
>> >> swift-evolution at swift.org
>> >> https://lists.swift.org/mailman/listinfo/swift-evolution
>> >
>> > _______________________________________________
>> > swift-evolution mailing list
>> > swift-evolution at swift.org
>> > https://lists.swift.org/mailman/listinfo/swift-evolution
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160207/794a1f23/attachment.html>


More information about the swift-evolution mailing list