는 내가 SBT 설명서를 읽고 있었다, 나는 빌드 멀티 프로젝트 섹션에서 예를 건너 왔어요 : 나는 값 foo를 참조하고이 선언되기 전에 막대 할 수 있습니다 방법스칼라에서 느린 val에 대한 스코프 규칙은 무엇입니까?
import sbt._
import Keys._
object HelloBuild extends Build {
lazy val root = Project(id = "hello",
base = file(".")) aggregate(foo, bar)
lazy val foo = Project(id = "hello-foo",
base = file("foo"))
lazy val bar = Project(id = "hello-bar",
base = file("bar"))
}
을 궁금? 나는 그것이 게으른 키워드와 관련이 있다고 생각하지만, 나의 독서에서, 나는 게으른 키워드가 단지 초기화를 지연 시켰다고 생각 했는가? 값이 선언 이전에도 범위 내에서 어떻게 든 보입니다. 초기화를 염두에 두지 마십시오.
누군가가 여기에서 무슨 일이 일어나고 있는지 잘 설명 할 수 있기를 바랍니다!
이것은 같은 속입니다. http://stackoverflow.com/q/7762838/1296806 http://stackoverflow.com/q/10257289/1296806 2008 년의 웃기는 인용문 : 분명히 사람들은이 주제에 대한 이전의 모든 메시지에주의를 기울이지 않는 것처럼 보입니다. 나는 최근의 "Programming in Scala"초안을 보지 못했지만 분명히 사람들이 계속해서 이것을 묻지 않도록 24pt의 굵은 텍스트로 초기화에 대한 논의가 필요합니다. –