Movatterモバイル変換


[0]ホーム

URL:


Scala 3
3.7.4
LearnInstallPlaygroundFind A LibraryCommunityBlog
Scala 3
LearnInstallPlaygroundFind A LibraryCommunityBlog
DocsAPI
Generated with
Copyright (c) 2002-2025, LAMP/EPFL
Copyright (c) 2002-2025, LAMP/EPFL
Scala 3/scala/DelayedInit

DelayedInit

scala.DelayedInit

Classes and objects (but note, not traits) inheriting theDelayedInit marker trait will have their initialization code rewritten as follows:code becomesdelayedInit(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 Cthis is the initialization code of C

Attributes

See also

"Delayed Initialization" subsection of the Scala Language Specification (section 5.1)

Deprecated
[Since version 2.11.0]DelayedInit semantics can be surprising. Support for `App` will continue. See the release notes for more details: https://github.com/scala/scala/releases/tag/v2.11.0
Source
DelayedInit.scala
Graph
Supertypes
classObject
traitMatchable
classAny
Known subtypes
traitApp

Members list

Value members

Abstract methods

Attributes

Source
DelayedInit.scala
In this article
Generated with
Copyright (c) 2002-2025, LAMP/EPFL
Copyright (c) 2002-2025, LAMP/EPFL

[8]ページ先頭

©2009-2025 Movatter.jp