클립 Scala 학습 노트 - 개체 편향
2327 단어 가방을 닫다
+ =
코드는 이해하기 쉬워요. 그럼 언제 국부 변수가 아니죠?먼저 나무를 심는 방법을 정의합니다.
def plantATree(treeName:String)={
var high= 0
val taller(meter:Int)={
high += meter
println(" , "+treeName+", "+high+" ")
}
taller
}
이 예에서 scala의 함수 플러그인과 관련이 있습니다. 플러그인의 함수는 상부 함수의 변수에 접근할 수 있습니다. 즉,taller라는 함수는high와treeName에 접근할 수 있습니다.자, 이제 이 함수의 목적을 설명하자면plantatree는 말 그대로 나무를 심고 톨러라는 함수를 되돌려주는 것이다. 톨러는 int를 받아들인다. 이 나무가 자랐다는 뜻이다.다음은 나무를 심기 시작합니다.
val treeOne = plantATree(" ")
val treeTwo = plantATree(" ")
사실 지금 우리는 이미 두 개의 클립이 생겼다. 왜냐하면, 우리는 다음과 같은 코드를 실행하고, 우리는 먼저 사과나무를 3미터 높게 자라게 한다.
treeTwo(3)
사과나무:
, , 3
지금 우리는 은행나무를 1미터 더 자라게 하고 다음 코드를 실행한다
treeOne(1)
은행나무:
, , 1
은행나무와 사과나무는 각각 비국부 변수를 유지하고 있는 것을 발견했다. 왜냐하면 트리네임과 하이는 톨러의 국부 변수가 아니라 상부 함수이기 때문이다.이것이 바로 이른바 폐쇄라는 것은 코드와 비국부 변수를 포장하여 각자 한 세트씩 유지하는 것이다.상부 함수가 실행되었어도
자바가 대상을 대상으로 하는 프로그래밍 스타일에서 방법은 서로 호출할 수 있을 뿐 끼워 넣을 수 없다.자바에서 내부 클래스가 패키지를 닫지 못하게 한다는 뜻이 있다고 생각하십니까? 내부 클래스가 외부 클래스 변수를 호출하려면final이라고 명시해야 하기 때문입니다.자바에 클로즈업이 없기 때문에 변수가 혼란스러워지는 것을 방지하기 위해서입니다.
주제 밖의 말: 물론java8은 천지개벽의 변화를 했고 lambda, 클로즈업도 했고 함수식 프로그래밍도 도입했다. 각종 새로운 특징이 뜨겁게 달아올랐고 scala와 비슷한 파이프 프로그래밍 스타일의Stream API도 추가했다.
관심 있는 링크는 다음과 같습니다.http://kb.cnblogs.com/page/110782/ http://www.cnblogs.com/uptownBoy/articles/1454098.html http://lovejavaei.iteye.com/blog/401167
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JavaScript 역할 도메인 클로즈업 상세 정보JavaScript에는 동적 역할 영역이 없으며 구문 역할 영역만 있습니다.어법 작용역은 코드를 쓰거나 정의를 말할 때 확정되고, 동적 작용역은 실행할 때 결정된다.패키지를 닫기 전에 먼저 우리는 어법 작용역이 무엇...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.