|
Scala example source code file (DelayedInit.scala)
The DelayedInit.scala Scala example source code/* __ *\ ** ________ ___ / / ___ Scala API ** ** / __/ __// _ | / / / _ | (c) 2010-2013, LAMP/EPFL ** ** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ ** ** /____/\___/_/ |_/____/_/ | | ** ** |/ ** \* */ package scala /** Classes and objects (but note, not traits) inheriting the `DelayedInit` * marker trait will have their initialization code rewritten as follows: * `code` becomes `delayedInit(code)`. * * Initialization code comprises all statements and all value definitions * that are executed during initialization. * * Example: * {{{ * trait Helper extends DelayedInit { * def delayedInit(body: => Unit) = { * println("dummy text, printed before initialization of C") * body // evaluates the initialization code of C * } * } * * class C extends Helper { * println("this is the initialization code of C") * } * * object Test extends App { * val c = new C * } * }}} * * Should result in the following being printed: * {{{ * dummy text, printed before initialization of C * this is the initialization code of C * }}} * * @see "Delayed Initialization" subsection of the Scala Language Specification (section 5.1) * * @author Martin Odersky */ @deprecated("DelayedInit semantics can be surprising. Support for `App` will continue.\nSee the release notes for more details: https://github.com/scala/scala/releases/tag/v2.11.0-RC1", "2.11.0") trait DelayedInit { def delayedInit(x: => Unit): Unit } Other Scala source code examplesHere is a short list of links related to this Scala DelayedInit.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.