[swift-evolution] Request for Discussion: Setup closures
Erica Sadun
erica at ericasadun.com
Sun Dec 6 11:10:46 CST 2015
I have developed something similar as well (http://ericasadun.com/2015/11/15/speeding-up-swift-playgrounds-with-closure-initialization-swiftlang/).
Is yours capable of handling enums and structs that would otherwise be let after declaration because mine is not.
-- E
> On Dec 5, 2015, at 5:16 PM, ilya via swift-evolution <swift-evolution at swift.org> wrote:
>
> > PROBLEM: With many Apple-supplied classes, typical initializers fail to fully set up an instance for use. Here's one example: ...
>
> FWIW, I created a configuration operator more then a year ago, and use it in all of my Swift projects:
>
> let task = NSTask() +=+ {
> $0.launchPath = "/usr/bin/mdfind"
> $0.arguments = ["kMDItemDisplayName == *.playground"]
> $0.standardOutput = pipe
> }
>
> Note you can also use the configured object in the rhs:
>
> let questionLabel = UILabel() +=+ {
> $0.textAlignment = .Center
> $0.font = UIFont(name:"DnealianManuscript", size: 72)
> $0.text = currentQuestion.questionText
> $0.numberOfLines = 0
> view.addSubview($0)
> }
>
> This $0. certainly looks ugly and it would be great to be able to simplify this. I don't llike the following much though (dot-syntax can be ambiguos here, and using simply a method name is even worse):
>
> let questionLabel = UILabel() +=+ {
> .textAlignment = .Center
> .font = UIFont(name:"DnealianManuscript", size: 72)
> .text = currentQuestion.questionText
> .numberOfLines = 0
> view.addSubview($0)
> }
>
> Actually I would be happy with something like
>
> let questionLabel = UILabel() .{
> ..textAlignment = .Center
> ..font = UIFont(name:"DnealianManuscript", size: 72)
> ..text = currentQuestion.questionText
> ..numberOfLines = 0
> view.addSubview($0)
> }
>
> Other thoughts?
>
>
> _______________________________________________
> 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/20151206/444bab91/attachment.html>
More information about the swift-evolution
mailing list